There are
416 mi
from Broken Arrow, OK to Hannibal, MO
That's the driving distance. It would take 7 hours 46 mins to go from Broken Arrow, Oklahoma to Hannibal, Missouri.
The flight distance (direct flight from Broken Arrow, OK to Hannibal, MO) is 349.52 mi.
416 mi = 669.65 kms