There are 8 ways to get from Portland to Hannibal by plane, shuttle, bus, train (Amtrak), car, or train
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Fly Portland International Airport to Lambert–St. Louis International Airport, shuttle
best- Fly from Portland International Airport (PDX) to Lambert–St. Louis International Airport (STL)plane PDX - STL
- Take a shuttle bus from St. Louis to Hannibal
9h 59m$201–476Fly Portland International Airport to Columbia Regional Airport, shuttle
cheapest- Fly from Portland International Airport (PDX) to Columbia Regional Airport (COU)plane PDX - COU
- Take a shuttle bus from Columbia to Hannibal
9h 51m$168–557Bus, shuttle
- Take the bus from Portland Curbside Bus Stop to Pasco Bus Stopbus
- Take the bus from Pasco Bus Stop to Denver Union Stationbus
- Take the bus from Denver Union Station to St Louis Bus Stationbus
- Take a shuttle bus from St. Louis to Hannibal
2d 1h$347–578Train (Amtrak)
- Take the train from Portland to Chicago Union Stationtrain Empire Builder
- Take the train from Chicago Union Station to Quincy Amtrak Stationtrain Carl Sandburg / ...
2d 3h$714–1,532Drive 1,917.6 mi
- Drive from Portland to Hannibalcar 1,917.6 mi
30h 25m$350–506Train to Seattle-Tacoma International Airport, fly to Lambert–St. Louis International Airport, shuttle
- Take the train from Portland to Tacomatrain
- Fly from Seattle-Tacoma International Airport (SEA) to Lambert–St. Louis International Airport (STL)plane SEA - STL
- Take a shuttle bus from St. Louis to Hannibal
11h 41m$249–498Fly Portland International Airport to Chicago O'Hare International Airport, train
- Fly from Portland International Airport (PDX) to Chicago O'Hare International Airport (ORD)plane PDX - ORD
- Take the train from Chicago Union Station to Quincy Amtrak Stationtrain
12h 15m$310–568Fly Portland International Airport to Chicago Midway International Airport, train
- Fly from Portland International Airport (PDX) to Chicago Midway International Airport (MDW)plane PDX - MDW
- Take the train from Chicago Union Station to Quincy Amtrak Stationtrain
12h 8m$253–741
Portland International Airport (PDX) to Lambert–St. Louis International Airport (STL) flights
Comparing Your Travel Options
The cheapest way to get from Portland to Hannibal is to fly and shuttle which costs $200 - $480 and takes 9h 59m.
The fastest way to get from Portland to Hannibal is to fly and shuttle which takes 9h 51m and costs $160 - $600.
No, there is no direct train from Portland to Hannibal station. However, there are services departing from Portland and arriving at Quincy Amtrak Station via Chicago Union Station. The journey, including transfers, takes approximately 2 days 3h.
The distance between Portland and Hannibal is 1839 miles. The road distance is 1928.8 miles.
The best way to get from Portland to Hannibal without a car is to bus and shuttle which takes 2 days 1h and costs $340 - $600.
It takes approximately 9h 59m to get from Portland to Hannibal, including transfers.
Portland to Hannibal train services, operated by Amtrak, depart from Portland station.
Hannibal is 2h ahead of Portland. It is currently 8:53 PM in Portland and 10:53 PM in Hannibal.
Portland to Hannibal train services, operated by Amtrak, arrive at Chicago Union Station.
Yes, the driving distance between Portland to Hannibal is 1929 miles. It takes approximately 30h 25m to drive from Portland to Hannibal.
What companies run services between Portland, OR, USA and Hannibal, MO, USA?
You can take a train from Portland to Hannibal via Chicago Union Station and Quincy Amtrak Station in around 2d 3h.
- Website
- southwest.com
Flights from Portland International Airport to Lambert–St. Louis International Airport via Denver
- Ave. Duration
- 5h 53m
- When
- Every day
- Estimated price
- $150–650
Flights from Portland International Airport to Lambert–St. Louis International Airport via Chicago Midway International Airport
- Ave. Duration
- 6h 25m
- When
- Every day
- Estimated price
- $170–750
Flights from Portland International Airport to Lambert–St. Louis International Airport via Dallas
- Ave. Duration
- 7h
- When
- Sunday
- Estimated price
- $180–750
Flights from Seattle-Tacoma International Airport to Lambert–St. Louis International Airport via Denver
- Ave. Duration
- 5h 55m
- When
- Every day
- Estimated price
- $150–650
Flights from Seattle-Tacoma International Airport to Lambert–St. Louis International Airport via Chicago Midway International Airport
- Ave. Duration
- 6h 10m
- When
- Sunday
- Estimated price
- $160–700
Flights from Portland International Airport to Chicago Midway International Airport
- Ave. Duration
- 3h 51m
- When
- Every day
- Estimated price
- $110–470
Flights from Portland International Airport to Chicago Midway International Airport via Denver
- Ave. Duration
- 6h 27m
- When
- Every day
- Estimated price
- $110–490
Rome2Rio's guide to Amtrak
Contact DetailsContact Details
- Phone
- +1 800-872-7245
- Website
- Amtrak
Train from Portland to Chicago Union Station
- Ave. Duration
- 46h
- Frequency
- Once daily
- Estimated price
- $550–1,300
- Website
- Amtrak
Train from Chicago Union Station to Quincy Amtrak Station
- Ave. Duration
- 4h 22m
- Frequency
- Twice daily
- Estimated price
- $75–180
- Website
- Amtrak
Train from Portland to Tacoma
- Ave. Duration
- 2h 33m
- Frequency
- Every 4 hours
- Estimated price
- $35–80
- Website
- Amtrak
Train from Chicago Union Station to Quincy Amtrak Station
- Ave. Duration
- 4h 22m
- Frequency
- Twice daily
- Estimated price
- $75–180
- Website
- Amtrak
Train from Chicago Union Station to Quincy Amtrak Station
- Ave. Duration
- 4h 22m
- Frequency
- Twice daily
- Estimated price
- $75–180
- Website
- Amtrak
- Phone
- +1-888-875-6287
- Website
- Oats Transit
Shuttle from St. Louis to Hannibal
- Ave. Duration
- 1h 50m
- Frequency
- Twice a week
- Estimated price
- $4–7
- Website
- Oats Transit
- Schedules at
- Oats Transit Schedules
Shuttle from St. Louis to Hannibal
- Ave. Duration
- 1h 50m
- Frequency
- Twice a week
- Estimated price
- $4–7
- Website
- Oats Transit
- Schedules at
- Oats Transit Schedules
Shuttle from Columbia to Hannibal
- Ave. Duration
- 1h 45m
- Frequency
- Twice a week
- Estimated price
- $4–6
- Website
- Oats Transit
- Schedules at
- Oats Transit Schedules
Shuttle from St. Louis to Hannibal
- Ave. Duration
- 1h 50m
- Frequency
- Twice a week
- Estimated price
- $4–7
- Website
- Oats Transit
- Schedules at
- Oats Transit 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
Need to know: Greyhound
Read the travel guide
Why you should take the train in the US
Read the travel guide
Booking & Getting There
There are 21+ hotels available in Hannibal.




