There are 11 ways to get from St. Louis to Canada by plane, train (Amtrak), bus (Greyhound, Flixbus), car, 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.
Fly to Toronto Pearson International Airport
best- Fly from Lambert–St. Louis International Airport (STL) to Toronto Pearson International Airport (YYZ)plane STL - YYZ
5h 6m$362–1,016Bus via Indianapolis
cheapest- 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 Torontobus
17h 55m$127–289Train 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 Toronto Union Stationtrain
16h 39m$164–466Drive 1,201.7 km
- Drive from St. Louis to Torontocar 1,201.7 km
12h 57m$232–335Fly to Montréal–Pierre Elliott Trudeau International Airport
- Fly from Lambert–St. Louis International Airport (STL) to Montréal–Pierre Elliott Trudeau International Airport (YUL)plane STL - YUL
5h 37m$461–1,111Fly to Winnipeg J. A. Richardson International Airport
- Fly from Lambert–St. Louis International Airport (STL) to Winnipeg J. A. Richardson International Airport (YWG)plane STL - YWG
7h 49m$166–906Fly to Toronto Island Airport
- Fly from Lambert–St. Louis International Airport (STL) to Toronto Island Airport (YTZ)plane STL - YTZ
7h 23m$557–1,522Fly to Ottawa Macdonald-Cartier International Airport
- Fly from Lambert–St. Louis International Airport (STL) to Ottawa Macdonald-Cartier International Airport (YOW)plane STL - YOW
7h 44m$171–861Fly to Buffalo Niagara International Airport, shuttle
- Fly from Lambert–St. Louis International Airport (STL) to Buffalo Niagara International Airport (BUF)plane STL - BUF
- Take a shuttle bus from Buffalo Airport to Pearson International Airport Terminal 1
8h 20m$492–2,276Train
- 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 Toronto Union Stationtrain
21h 32m$152–503Bus
- Take the bus from St Louis Bus Station to Pittsburgh Intermodal Stationbus
- Take the bus from Pittsburgh to Buffalobus
- Take the bus from Buffalo to Torontobus
25h 30m$160–543
St. Louis to Canada by train and car
Questions & Answers
The cheapest way to get from St. Louis to Canada is to bus via Indianapolis which costs $120 - $290 and takes 17h 55m.
The fastest way to get from St. Louis to Canada is to fly which takes 5h 6m and costs $360 - $1,100.
No, there is no direct bus from St. Louis station to Canada. However, there are services departing from St Louis Bus Station and arriving at Toronto via Indianapolis, IN and Detroit Bus Station. The journey, including transfers, takes approximately 17h 55m.
No, there is no direct train from St. Louis to Canada station. However, there are services departing from St. Louis and arriving at Toronto Union Station via Chicago Union Station and Buffalo. The journey, including transfers, takes approximately 21h 32m.
The distance between St. Louis and Canada is 1100 km. The road distance is 1201.7 km.
The best way to get from St. Louis to Canada without a car is to bus via Indianapolis which takes 17h 55m and costs $120 - $290.
It takes approximately 5h 6m to get from St. Louis to Canada, including transfers.
St. Louis to Canada bus services, operated by Greyhound USA, depart from St Louis Bus Station.
St. Louis to Canada train services, operated by Amtrak, depart from St. Louis station.
The best way to get from St. Louis to Canada is to fly which takes 5h 6m and costs $360 - $1,100. Alternatively, you can train via Detroit, which costs $160 - $470 and takes 16h 39m, you could also bus via Indianapolis, which costs $120 - $290 and takes 17h 55m.
What companies run services between St. Louis, MO, USA and Canada?
Air Canada, United Airlines, and two other airlines fly from Lambert–St. Louis International Airport (STL) to Toronto Pearson International Airport (YYZ) every 4 hours. Alternatively, you can take a train from St. Louis to Toronto Union Station via Chicago Union Station, Detroit, and Windsor in around 16h 39m.
- Website
- united.com
Flights from Lambert–St. Louis International Airport to Toronto Pearson International Airport
- Ave. Duration
- 2h 1m
- When
- Every day
- Estimated price
- $110–650
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
- $110–650
Flights from Lambert–St. Louis International Airport to Montréal–Pierre Elliott Trudeau International Airport
- Ave. Duration
- 2h 35m
- When
- Every day
- Estimated price
- $150–800
Flights from Lambert–St. Louis International Airport to Montréal–Pierre Elliott Trudeau International Airport via Chicago O'Hare
- Ave. Duration
- 5h
- When
- Every day
- Estimated price
- $150–800
Flights from Lambert–St. Louis International Airport to Winnipeg J. A. Richardson International Airport via Chicago O'Hare
- Ave. Duration
- 5h 27m
- When
- Every day
- Estimated price
- $170–950
Flights from Lambert–St. Louis International Airport to Winnipeg J. A. Richardson International Airport via Toronto Pearson International Airport
- Ave. Duration
- 5h 39m
- When
- Monday, Wednesday, Thursday, and Friday
- Estimated price
- $250–1,200
Flights from Lambert–St. Louis International Airport to Winnipeg J. A. Richardson International Airport via Denver
- Ave. Duration
- 6h 12m
- When
- Every day
- Estimated price
- $250–1,200
Flights from Lambert–St. Louis International Airport to Toronto Island Airport via Chicago O'Hare
- Ave. Duration
- 4h 28m
- When
- Every day
- Estimated price
- $120–700
Flights from Lambert–St. Louis International Airport to Toronto Island Airport via Washington Dulles
- Ave. Duration
- 4h 58m
- When
- Monday, Tuesday, Thursday, and Friday
- Estimated price
- $150–800
Flights from Lambert–St. Louis International Airport to Ottawa Macdonald-Cartier International Airport via Toronto Pearson International Airport
- Ave. Duration
- 4h 13m
- When
- Every day
- Estimated price
- $160–850
Flights from Lambert–St. Louis International Airport to Ottawa Macdonald-Cartier International Airport via Chicago O'Hare
- Ave. Duration
- 4h 59m
- When
- Every day
- Estimated price
- $160–900
Flights from Lambert–St. Louis International Airport to Ottawa Macdonald-Cartier International Airport via Washington Dulles
- Ave. Duration
- 5h 2m
- When
- Every day
- Estimated price
- $190–950
Flights from Lambert–St. Louis International Airport to Ottawa Macdonald-Cartier International Airport via Newark
- Ave. Duration
- 5h 32m
- When
- Every day
- Estimated price
- $190–1,000
Flights from Lambert–St. Louis International Airport to Buffalo Niagara International Airport via Chicago O'Hare
- Ave. Duration
- 4h 20m
- When
- Every day
- Estimated price
- $370–2,100
Flights from Lambert–St. Louis International Airport to Buffalo Niagara International Airport via Washington Dulles
- Ave. Duration
- 5h 12m
- When
- Every day
- Estimated price
- $450–2,400
- Website
- aircanada.com
Flights from Lambert–St. Louis International Airport to Toronto Pearson International Airport
- Ave. Duration
- 2h 1m
- When
- Every day
- Estimated price
- $110–650
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
- $110–650
Flights from Lambert–St. Louis International Airport to Montréal–Pierre Elliott Trudeau International Airport
- Ave. Duration
- 2h 35m
- When
- Every day
- Estimated price
- $150–800
Flights from Lambert–St. Louis International Airport to Montréal–Pierre Elliott Trudeau International Airport via Toronto Pearson International Airport
- Ave. Duration
- 4h 48m
- When
- Every day
- Estimated price
- $150–800
Flights from Lambert–St. Louis International Airport to Montréal–Pierre Elliott Trudeau International Airport via Chicago O'Hare
- Ave. Duration
- 5h
- When
- Every day
- Estimated price
- $150–800
Flights from Lambert–St. Louis International Airport to Winnipeg J. A. Richardson International Airport via Chicago O'Hare
- Ave. Duration
- 5h 27m
- When
- Every day
- Estimated price
- $170–950
Flights from Lambert–St. Louis International Airport to Winnipeg J. A. Richardson International Airport via Toronto Pearson International Airport
- Ave. Duration
- 5h 39m
- When
- Monday, Wednesday, Thursday, and Friday
- Estimated price
- $250–1,200
Flights from Lambert–St. Louis International Airport to Winnipeg J. A. Richardson International Airport via Denver
- Ave. Duration
- 6h 12m
- When
- Every day
- Estimated price
- $250–1,200
Flights from Lambert–St. Louis International Airport to Toronto Island Airport via Chicago O'Hare
- Ave. Duration
- 4h 28m
- When
- Every day
- Estimated price
- $120–700
Flights from Lambert–St. Louis International Airport to Toronto Island Airport via Montréal–Pierre Elliott Trudeau International Airport
- Ave. Duration
- 5h 55m
- When
- Every day
- Estimated price
- $180–900
Flights from Lambert–St. Louis International Airport to Ottawa Macdonald-Cartier International Airport via Toronto Pearson International Airport
- Ave. Duration
- 4h 13m
- When
- Every day
- Estimated price
- $160–850
Flights from Lambert–St. Louis International Airport to Ottawa Macdonald-Cartier International Airport via Chicago O'Hare
- Ave. Duration
- 4h 59m
- When
- Every day
- Estimated price
- $160–900
Flights from Lambert–St. Louis International Airport to Ottawa Macdonald-Cartier International Airport via Montréal–Pierre Elliott Trudeau International Airport
- Ave. Duration
- 5h 15m
- When
- Every day
- Estimated price
- $180–950
Flights from Lambert–St. Louis International Airport to Buffalo Niagara International Airport via Chicago O'Hare
- Ave. Duration
- 4h 20m
- When
- Every day
- Estimated price
- $370–2,100
- Website
- delta.com
Flights from Lambert–St. Louis International Airport to Toronto Pearson International Airport via Detroit
- Ave. Duration
- 4h 53m
- When
- Every day
- Estimated price
- $110–650
Flights from Lambert–St. Louis International Airport to Montréal–Pierre Elliott Trudeau International Airport via Detroit
- Ave. Duration
- 4h 33m
- When
- Every day
- Estimated price
- $150–800
Flights from Lambert–St. Louis International Airport to Winnipeg J. A. Richardson International Airport via Minneapolis
- Ave. Duration
- 5h 24m
- When
- Every day
- Estimated price
- $160–900
Flights from Lambert–St. Louis International Airport to Winnipeg J. A. Richardson International Airport via Atlanta
- Ave. Duration
- 7h 57m
- When
- Wednesday, Friday, and Sunday
- Estimated price
- $400–2,200
Flights from Lambert–St. Louis International Airport to Buffalo Niagara International Airport via Detroit
- Ave. Duration
- 4h 37m
- When
- Every day
- Estimated price
- $360–2,100
- Website
- aa.com
Flights from Lambert–St. Louis International Airport to Toronto Pearson International Airport via Reagan Washington
- Ave. Duration
- 4h 59m
- When
- Every day
- Estimated price
- $150–800
Flights from Lambert–St. Louis International Airport to Montréal–Pierre Elliott Trudeau International Airport via Chicago O'Hare
- Ave. Duration
- 5h 37m
- When
- Monday, Tuesday, Wednesday, Saturday, and Sunday
- Estimated price
- $150–800
Flights from Lambert–St. Louis International Airport to Buffalo Niagara International Airport via Chicago O'Hare
- Ave. Duration
- 4h 17m
- When
- Every day
- Estimated price
- $370–2,100
Flights from Lambert–St. Louis International Airport to Buffalo Niagara International Airport via Reagan Washington
- Ave. Duration
- 5h 5m
- When
- Every day
- Estimated price
- $460–2,400
- Website
- southwest.com
Flights from Lambert–St. Louis International Airport to Buffalo Niagara International Airport via Chicago Midway
- Ave. Duration
- 5h 22m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- $370–2,100
Flights from Lambert–St. Louis International Airport to Buffalo Niagara International Airport via Baltimore
- Ave. Duration
- 5h 21m
- When
- Every day
- Estimated price
- $460–2,400
Flights from Lambert–St. Louis International Airport to Buffalo Niagara International Airport via Nashville
- Ave. Duration
- 5h 22m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- $430–2,300
- Website
- flyporter.com
Flights from Lambert–St. Louis International Airport to Toronto Island Airport via Chicago Midway
- Ave. Duration
- 4h 27m
- When
- Monday, Tuesday, Thursday, and Friday
- Estimated price
- $280–1,300
Flights from Lambert–St. Louis International Airport to Toronto Island Airport via Newark
- Ave. Duration
- 5h 56m
- When
- Every day
- Estimated price
- $170–850
Rome2Rio's guide to Amtrak
Contact Details
- Phone
- +1 800-872-7245
- Website
- amtrak.com
Train from St. Louis to Chicago Union Station
- Ave. Duration
- 4h 55m
- Frequency
- 5 times a day
- Estimated price
- $45–150
- Website
- https://www.amtrak.com/home.html
Train from Chicago Union Station to Detroit
- Ave. Duration
- 5h 20m
- Frequency
- 3 times a day
- Estimated price
- $65–180
- Website
- https://www.amtrak.com/home.html
Train from Chicago Union Station to Buffalo Depew Station
- Ave. Duration
- 10h 23m
- Frequency
- Twice daily
- Estimated price
- $75–240
- Website
- https://www.amtrak.com/home.html
- Phone
- +1 888 842-7245
- Website
- viarail.ca
Train from Windsor to Toronto Union Station
- Ave. Duration
- 4h 10m
- Frequency
- 4 times a day
- Estimated price
- $50–140
- Website
- https://www.viarail.ca/en
- Economy Adult - same day booking
- $60–140
- Economy Adult - Advanced Booking
- $60–110
- Economy Escape Advanced Booking - Adult
- $50–70
Train from Buffalo to Toronto Union Station
- Ave. Duration
- 4h 14m
- Frequency
- Once daily
- Estimated price
- $30–120
- Website
- https://www.viarail.ca/en
- Economy Adult - same day booking
- $35–120
- Economy Adult - Advanced Booking
- $35–95
- Economy Escape Advanced Booking - Adult
- $30–50
Rome2Rio's guide to Greyhound USA
Contact Details
- Phone
- +1 214-849-8100
- ifsr@greyhound.com
- Website
- greyhound.com
Bus from St Louis Bus Station to Indianapolis Union Station
- Ave. Duration
- 4h 25m
- Frequency
- 3 times a day
- Estimated price
- $45–75
- Website
- https://www.greyhound.com/
Bus from St Louis Bus Station to Pittsburgh Intermodal Station
- Ave. Duration
- 12h 55m
- Frequency
- 3 times a day
- Estimated price
- $80–230
- Website
- https://www.greyhound.com/
Bus from Buffalo to Toronto
- Ave. Duration
- 2h 45m
- Frequency
- 3 times a day
- Estimated price
- $24–45
- Website
- https://www.greyhound.com/
- Phone
- +1 888-378-3823
- info@baronsbus.com
- Website
- baronsbus.com
Bus from Indianapolis, IN to Detroit, MI
- Ave. Duration
- 5h 5m
- Frequency
- Once daily
- Estimated price
- $35–95
- Website
- https://baronsbus.com
- Phone
- +1 (855) 626-8585
- Website
- flixbus.com
Bus from Detroit Bus Station to Toronto
- Ave. Duration
- 6h 25m
- Frequency
- 3 times a day
- Estimated price
- $45–120
- Schedules at
- flixbus.com
Bus from Buffalo to Toronto
- Ave. Duration
- 3h 25m
- Frequency
- 3 times a day
- Estimated price
- $26–60
- Schedules at
- flixbus.com
- Phone
- 905-374-8111
- airsales@niagaraairbus.com
- Website
- niagaraairbus.com
Shuttle from Buffalo Airport to Pearson International Airport Terminal 1
- Ave. Duration
- 2h
- Frequency
- On demand
- Estimated price
- $120–160
- Website
- https://www.niagaraairbus.com
- Schedules at
- https://www.niagaraairbus.com
- Book at
- https://www.niagaraairbus.com
- Phone
- +1 814-574-1827
- Website
- fullingtontours.com
Bus from Pittsburgh to Buffalo
- Ave. Duration
- 7h 50m
- Frequency
- Once daily
- Estimated price
- $150–200
- Website
- https://www.fullingtontours.com
- Phone
- +1 800-858-8555
- Website
- trailways.com
Bus from Pittsburgh to Buffalo
- Ave. Duration
- 7h 50m
- Frequency
- Once daily
- Estimated price
- $55–240
- Website
- https://trailways.com
- Schedules at
- https://trailways.com/schedules/
- Saver
- $55–230
- Flexible
- $100–240
Bus from Buffalo to Toronto
- Ave. Duration
- 2h 50m
- Frequency
- Twice daily
- Estimated price
- $29–80
- Website
- https://trailways.com
- Schedules at
- https://trailways.com/schedules/
- Saver
- $29–75
- Flexible
- $55–80
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
More Questions & Answers
St. Louis to Canada bus services, operated by Greyhound USA, arrive at Indianapolis Union Station.
St. Louis to Canada train services, operated by Amtrak, arrive at Chicago Union Station.
Yes, the driving distance between St. Louis to Canada is 1202 km. It takes approximately 12h 57m to drive from St. Louis to Canada.
Book your St. Louis to Canada train tickets online with Omio.
Book your St. Louis to Canada bus tickets online with Omio.
There are 1299+ hotels available in Canada.























