There are 5 ways to get from Kansas City to Hannibal by train (Amtrak), bus, shuttle, car, plane, or bus (Greyhound)
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train (Amtrak)
best- Take the train from Kansas City to Galesburg Amtrak Stationtrain Southwest Chief
- Take the train from Galesburg Amtrak Station to Quincy Amtrak Stationtrain Illinois Zephyr / ...
7h 28m$194–349Drive 209.4 mi
cheapest- Drive from Kansas City to Hannibalcar 209.4 mi
3h 36m$39–56Bus, shuttle
- Take the bus from Kansas City Bus Station to St Louis Bus Stationbus Greyhound US0180s / ...
- Take a shuttle bus from St. Louis to HannibalPalmyra
7h 31m$75–118Fly, shuttle
- Fly from Kansas City (MCI) to Lambert–St. Louis International Airport (STL)plane MCI - STL
- Take a shuttle bus from St. Louis to Hannibal
6h 5m$119–642Bus (Greyhound)
- Take the bus from Kansas City Bus Station to St Louis Bus Stationbus Greyhound US0180s / ...
- Take the bus from St Louis Bus Station to Quincy Public Transit Hubbus Greyhound US0153S
8h 5m$118–191
Kansas City (MCI) to Lambert–St. Louis International Airport (STL) flights
Questions & Answers
The cheapest way to get from Kansas City to Hannibal is to drive which costs $35 - $55 and takes 3h 36m.
The fastest way to get from Kansas City to Hannibal is to drive which takes 3h 36m and costs $35 - $55.
No, there is no direct bus from Kansas City station to Hannibal. However, there are services departing from Kansas City Bus Station and arriving at Quincy Public Transit Hub via St Louis Bus Station. The journey, including transfers, takes approximately 8h 5m.
No, there is no direct train from Kansas City to Hannibal station. However, there are services departing from Kansas City and arriving at Quincy Amtrak Station via Galesburg Amtrak Station. The journey, including transfers, takes approximately 7h 28m.
The distance between Kansas City and Hannibal is 443 miles. The road distance is 210.6 miles.
The best way to get from Kansas City to Hannibal without a car is to train which takes 7h 28m and costs $190 - $350.
It takes approximately 7h 28m to get from Kansas City to Hannibal, including transfers.
Kansas City to Hannibal bus services, operated by Greyhound USA, depart from Kansas City Bus Station.
Kansas City to Hannibal train services, operated by Amtrak, depart from Kansas City station.
The best way to get from Kansas City to Hannibal is to train which takes 7h 28m and costs $190 - $350. Alternatively, you can bus, which costs $110 - $200 and takes 8h 5m.
What companies run services between Kansas City, MO, USA and Hannibal, MO, USA?
You can take a train from Kansas City to Hannibal via Galesburg Amtrak Station and Quincy Amtrak Station in around 7h 28m. Alternatively, you can take a bus from Kansas City Bus Station to Hannibal via St Louis Bus Station and Quincy Public Transit Hub in around 8h 5m.
- Website
- southwest.com
Flights from Kansas City to Lambert–St. Louis International Airport
- Ave. Duration
- 1h 2m
- When
- Every day
- Estimated price
- $85–600
Rome2Rio's guide to Amtrak
Contact DetailsContact Details
- Phone
- +1 800-872-7245
- Website
- amtrak.com
Train from Kansas City to Galesburg Amtrak Station
- Ave. Duration
- 4h 25m
- Frequency
- Once daily
- Estimated price
- $85–180
- Website
- https://www.amtrak.com/home.html
Train from Galesburg Amtrak Station to Quincy Amtrak Station
- Ave. Duration
- 1h 34m
- Frequency
- Twice daily
- Estimated price
- $45–95
- Website
- https://www.amtrak.com/home.html
Rome2Rio's guide to Greyhound USA
Contact DetailsContact Details
- Phone
- +1 214-849-8100
- [email protected]
- Website
- greyhound.com
Bus from Kansas City Bus Station to St Louis Bus Station
- Ave. Duration
- 4h
- Frequency
- 4 times a day
- Estimated price
- $40–80
- Website
- https://www.greyhound.com/
Bus from Kansas City Bus Station to St Louis Bus Station
- Ave. Duration
- 4h
- Frequency
- 4 times a day
- Estimated price
- $40–80
- Website
- https://www.greyhound.com/
Bus from St Louis Bus Station to Quincy Public Transit Hub
- Ave. Duration
- 2h 35m
- Frequency
- Once daily
- Estimated price
- $22–45
- Website
- https://www.greyhound.com/
- Phone
- +1-888-875-6287
- Website
- oatstransit.org
Shuttle from St. Louis to Hannibal
- Ave. Duration
- 1h 50m
- Frequency
- Twice a week
- Estimated price
- $4–7
- Website
- https://www.oatstransit.org
- Schedules at
- https://www.oatstransit.org/schedules
Shuttle from St. Louis to Hannibal
- Ave. Duration
- 1h 50m
- Frequency
- Twice a week
- Estimated price
- $4–7
- Website
- https://www.oatstransit.org
- Schedules at
- https://www.oatstransit.org/schedules
Want to know more about travelling around United States
Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.
Related travel guides
Travelling to the US: What do I need to know?
Read the travel guide
Why you should take the train in the US
Read the travel guide
Need to know: Greyhound
Read the travel guide
More Questions & Answers
Kansas City to Hannibal bus services, operated by Greyhound USA, arrive at St Louis Bus Station.
Kansas City to Hannibal train services, operated by Amtrak, arrive at Galesburg Amtrak Station.
Yes, the driving distance between Kansas City to Hannibal is 211 miles. It takes approximately 3h 36m to drive from Kansas City to Hannibal.
There are 20+ hotels available in Hannibal.








