There are
437 mi
from Eagan, MN to Hannibal, MO
That's the driving distance. It would take 8 hours 18 mins to go from Eagan, Minnesota to Hannibal, Missouri.
The flight distance (direct flight from Eagan, MN to Hannibal, MO) is 363.99 mi.
437 mi = 702.53 kms