There are 8 ways to get from St. Louis to Hamilton by plane, bus, train (Amtrak), bus (Greyhound, Flixbus), car, train, 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.
Fly to Toronto Pearson International Airport, bus
best- Fly from Lambert–St. Louis International Airport (STL) to Toronto Pearson International Airport (YYZ)plane STL - YYZ
- Take the bus from Pearson International Airport Terminal 1 to Main St. W. @ Summers Ln.bus
5h 58m$116–619Train via Detroit
- Take the train from St. Louis to Chicago Union Stationtrain
- Take the train from Chicago Union Station to Detroittrain
- Take the train from Windsor to Aldershottrain
16h 54m$270–748Bus via Indianapolis
- Take the bus from St Louis Bus Station to Indianapolis Union Stationbus
- Take the bus from Indianapolis, IN to Detroit, MIbus
- Take the bus from Detroit Bus Station to Mississaugabus
- Take the bus from Square One to Main St. W. @ Summers Ln.bus 40 / ...
18h 49m$144–272Drive 1,136.3 km
- Drive from St. Louis to Hamiltoncar 1,136.3 km
12h 3m$231–333Fly to Toronto Island Airport, train
- Fly from Lambert–St. Louis International Airport (STL) to Toronto Island Airport (YTZ)plane STL - YTZ
- Take the train from Union Station GO to West Harbour GOtrain
9h 14m$126–620Fly to Buffalo Niagara International Airport, bus, train
- Fly from Lambert–St. Louis International Airport (STL) to Buffalo Niagara International Airport (BUF)plane STL - BUF
- Take the bus from Buffalo to Niagara Fallsbus
- Take the train from Niagara Falls GO to West Harbour GOtrain
10h 4m$205–1,016Train
- Take the train from St. Louis to Chicago Union Stationtrain
- Take the train from Chicago Union Station to Buffalo Depew Stationtrain
- Take the train from Buffalo to Aldershottrain
21h 53m$313–895Bus
- Take the bus from St Louis Bus Station to Pittsburgh Intermodal Stationbus
- Take the bus from Pittsburgh, Pa to Buffalo, Nybus 510
- Take the bus from Niagara Falls Bus Terminal to Burlington GO Busbus 12
28h 6m$228–547
St. Louis to Hamilton by train and car
Comparing Your Travel Options
The cheapest way to get from St. Louis to Hamilton is to bus via Indianapolis which costs $140 - $280 and takes 18h 49m.
The fastest way to get from St. Louis to Hamilton is to fly and bus which takes 5h 58m and costs $110 - $650.
No, there is no direct bus from St. Louis station to Hamilton. However, there are services departing from St Louis Bus Station and arriving at Main St. W. @ Summers Ln. via Indianapolis, IN, Detroit Bus Station and Square One. The journey, including transfers, takes approximately 18h 49m.
No, there is no direct train from St. Louis to Hamilton. However, there are services departing from St. Louis and arriving at West Harbour GO via Chicago Union Station, Windsor and Aldershot GO. The journey, including transfers, takes approximately 16h 54m.
The distance between St. Louis and Hamilton is 1144 km. The road distance is 1136.3 km.
The best way to get from St. Louis to Hamilton without a car is to bus via Indianapolis which takes 18h 49m and costs $140 - $280.
It takes approximately 5h 58m to get from St. Louis to Hamilton, including transfers.
St. Louis to Hamilton bus services, operated by Greyhound USA, depart from St Louis Bus Station.
St. Louis to Hamilton train services, operated by Amtrak, depart from St. Louis station.
The best way to get from St. Louis to Hamilton is to train via Detroit which takes 16h 54m and costs $270 - $750. Alternatively, you can bus via Indianapolis, which costs $140 - $280 and takes 18h 49m.
What companies run services between St. Louis, MO, USA and Hamilton, ON, Canada?
You can take a train from St. Louis to West Harbour GO via Chicago Union Station, Detroit, Windsor, Aldershot, and Aldershot GO in around 16h 54m. Alternatively, you can take a bus from St Louis Bus Station to Main St. W. @ Summers Ln. via Indianapolis, IN, Detroit Bus Station, Mississauga, and Square One in around 18h 49m.
- Website
- united.com
Flights from Lambert–St. Louis International Airport to Toronto Pearson International Airport
- Ave. Duration
- 1h 54m
- When
- Every day
- Estimated price
- $100–600
Flights from Lambert–St. Louis International Airport to Toronto Pearson International Airport via Chicago O'Hare
- Ave. Duration
- 4h 25m
- When
- Every day
- Estimated price
- $100–600
Flights from Lambert–St. Louis International Airport to Toronto Island Airport via Washington Dulles
- Ave. Duration
- 4h 42m
- When
- Every day
- Estimated price
- $140–700
Flights from Lambert–St. Louis International Airport to Toronto Island Airport via Chicago O'Hare
- Ave. Duration
- 5h 14m
- When
- Every day
- Estimated price
- $110–600
Flights from Lambert–St. Louis International Airport to Toronto Island Airport via New York La Guardia
- Ave. Duration
- 5h 6m
- When
- Monday, Thursday, Friday, and Sunday
- Estimated price
- $160–800
Flights from Lambert–St. Louis International Airport to Toronto Island Airport via Boston
- Ave. Duration
- 5h 19m
- When
- Monday, Thursday, and Friday
- Estimated price
- $180–850
Flights from Lambert–St. Louis International Airport to Buffalo Niagara International Airport via Chicago O'Hare
- Ave. Duration
- 4h 14m
- When
- Every day
- Estimated price
- $170–950
Flights from Lambert–St. Louis International Airport to Buffalo Niagara International Airport via Washington Dulles
- Ave. Duration
- 4h 29m
- When
- Every day
- Estimated price
- $210–1,100
Rome2Rio's guide to Amtrak
Contact DetailsContact Details
- Phone
- +1 800-872-7245
- Website
- Amtrak
Train from St. Louis to Chicago Union Station
- Ave. Duration
- 4h 55m
- Frequency
- 5 times a day
- Estimated price
- $95–230
- Website
- Amtrak
Train from Chicago Union Station to Detroit
- Ave. Duration
- 5h 20m
- Frequency
- 3 times a day
- Estimated price
- $95–230
- Website
- Amtrak
Train from St. Louis to Chicago Union Station
- Ave. Duration
- 4h 55m
- Frequency
- 5 times a day
- Estimated price
- $95–230
- Website
- Amtrak
Train from Chicago Union Station to Buffalo Depew Station
- Ave. Duration
- 10h 23m
- Frequency
- Twice daily
- Estimated price
- $180–430
- Website
- Amtrak
- Phone
- +1 888-438-6646
- Website
- GO Transit
Bus from Pearson International Airport Terminal 1 to Main St. W. @ Summers Ln.
- Ave. Duration
- 1h 18m
- Frequency
- Every 30 minutes
- Estimated price
- $12–15
- Website
- GO Transit
- Website
- GO Transit Schedules
- Passenger
- $12–15
Bus from Square One to Main St. W. @ Summers Ln.
- Ave. Duration
- 53 min
- Frequency
- Every 15 minutes
- Estimated price
- $10–12
- Website
- GO Transit
- Website
- GO Transit Schedules
- Passenger
- $10–12
Bus from Niagara Falls Bus Terminal to Burlington GO Bus
- Ave. Duration
- 1h 37m
- Frequency
- Hourly
- Estimated price
- $14–17
- Website
- GO Transit
- Website
- GO Transit Schedules
- Passenger
- $14–17
Want to know more about travelling around Canada
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
Booking & Getting There
St. Louis to Hamilton bus services, operated by Greyhound USA, arrive at Indianapolis Union Station.
Hamilton is 1h ahead of St. Louis. It is currently 6:50 PM in St. Louis and 7:50 PM in Hamilton.
St. Louis to Hamilton train services, operated by Amtrak, arrive at Chicago Union Station.
Yes, the driving distance between St. Louis to Hamilton is 1136 km. It takes approximately 12h 3m to drive from St. Louis to Hamilton.
Book your St. Louis to Hamilton bus tickets online with Omio.
There are 129+ hotels available in Hamilton.







