There are
307 mi
from Gary, IN to Hannibal, MO
That's the driving distance. It would take 5 hours 45 mins to go from Gary, Indiana to Hannibal, Missouri.
The flight distance (direct flight from Gary, IN to Hannibal, MO) is 247.34 mi.
307 mi = 493.26 kms