Rome2Rio

How to get fromDes Moines to Hannibalby bus, train, car, plane, or shuttle

Find Transport to Hannibal

See all options

There are 3 ways to get from Des Moines to Hannibal by bus, train, car, plane, or shuttle

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.

  1. Bus, train

    best
    1. Take the bus from Des Moines to Galesburgbus bus Greyhound US0157S
    2. Take the train from Galesburg Amtrak Station to Quincy Amtrak Stationtrain train Illinois Zephyr / ...
    7h 33m
    $127–215
  2. Drive  216.6 mi

    cheapest
    1. Drive from Des Moines to Hannibalcar car 216.6 mi
    4h 37m
    $40–58
  3. Fly, shuttle

    1. Fly from Des Moines (DSM) to Lambert–St. Louis International Airport (STL)plane plane DSM - STL
    2. Take a shuttle bus from St. Louis to Hannibalshuttle bus
    7h 6m
    $147–696

Des Moines (DSM) to Lambert–St. Louis International Airport (STL) flights

Calendar144Weekly Planes
Duration5h 2mAverage Duration
Ticket$112Cheapest Price
See schedules

Comparing Your Travel Options

What companies run services between Des Moines, IA, USA and Hannibal, MO, USA?

There is no direct connection from Des Moines to Hannibal. However, you can take the bus to Galesburg, walk to Galesburg Amtrak Station, take the train to Quincy Amtrak Station, then take the taxi to Hannibal. Alternatively, you can drive from Des Moines to Hannibal in around 4h 37m.

Airlines
Train operators
Bus operators

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

Need to know: Greyhound

Read the travel guideNeed to know: Greyhound