There are
244 mi
from Terre Haute, IN to Hannibal, MO
That's the driving distance. It would take 5 hours 11 mins to go from Terre Haute, Indiana to Hannibal, Missouri.
The flight distance (direct flight from Terre Haute, IN to Hannibal, MO) is 210.68 mi.
244 mi = 392.52 kms