Rome2Rio

How to get fromMiami to Hannibalby plane, bus, bus (Greyhound, Flixbus), car, train or taxi

Find Transport to Hannibal

See all options

There are 6 ways to get from Miami to Hannibal by plane, bus, bus (Greyhound, Flixbus), car, train, or taxi

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

  1. Fly Miami International Airport to Lambert–St. Louis International Airport, bus

    best
    1. Fly from Miami International Airport (MIA) to Lambert–St. Louis International Airport (STL)planeMIA - STL
    2. Take the bus from Lambert-St. Louis International Airport to Hannibalbus
    7h 17m
    $345–696
  2. Fly Miami International Airport to Quincy Regional Airport, taxi

    cheapest
    1. Fly from Miami International Airport (MIA) to Quincy Regional Airport (UIN)planeMIA - UIN
    2. Take the taxi from Quincy Regional Airport (UIN) to Hannibaltaxi
    7h 17m
    $170–565
  3. Bus

    1. Take the bus from Miami Airport Station to Atlanta Bus Stationbus
    2. Take the bus from Atlanta Bus Station to St Louis Bus Stationbus
    3. Take the bus from St Louis to Hannibalbus
    28h 23m
    $193–438
  4. Drive 1,328 mi

    1. Drive from Miami to Hannibalcar1,328 mi
    21h 48m
    $243–351
  5. Fly Fort Lauderdale–Hollywood International Airport to Lambert–St. Louis International Airport, bus

    1. Fly from Fort Lauderdale–Hollywood International Airport (FLL) to Lambert–St. Louis International Airport (STL)planeFLL - STL
    2. Take the bus from Lambert-St. Louis International Airport to Hannibalbus
    8h 3m
    $188–491
  6. Train to Palm Beach International Airport, fly to Lambert–St. Louis International Airport, bus

    1. Take the train from Metrorail Transfer Station to West Palm Beach Stationtrain
    2. Fly from Palm Beach International Airport (PBI) to Lambert–St. Louis International Airport (STL)planePBI - STL
    3. Take the bus from Lambert-St. Louis International Airport to Hannibalbus
    9h 56m
    $242–1,058

Miami International Airport (MIA) to Lambert–St. Louis International Airport (STL) flights

Calendar55Weekly Planes
Duration3h 42mAverage Duration
Ticket$125Cheapest Price
See schedules

Questions & Answers

What companies run services between Miami, FL, USA and Hannibal, MO, USA?

You can take a bus from Miami Airport Station to Hannibal via Atlanta Bus Station, St Louis, and Hannibal in around 28h 23m.

Airlines
Train operators
Bus operators
Other 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