There are 8 ways to get from St. Louis to Toronto by plane, train (Amtrak), bus (Greyhound, Flixbus), car, shuttle, 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
best- Fly from Lambert–St. Louis International Airport (STL) to Toronto Pearson International Airport (YYZ)plane STL - YYZ
5h 5m$122–616Train 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$324–817Bus 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 Torontobus
17h 55m$135–280Drive 1,201.9 km
- Drive from St. Louis to Torontocar 1,201.9 km
12h 57m$236–341Fly to Toronto Island Airport
- Fly from Lambert–St. Louis International Airport (STL) to Toronto Island Airport (YTZ)plane STL - YTZ
6h 6m$653–1,303Fly 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 3m$322–1,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$382–974Bus
- 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 Buffalo to Torontobus
26h 35m$215–586
St. Louis to Toronto by train and car
Comparing Your Travel Options
The cheapest way to get from St. Louis to Toronto is to bus via Indianapolis which costs $130 - $280 and takes 17h 55m.
The fastest way to get from St. Louis to Toronto is to fly which takes 5h 5m and costs $120 - $650.
No, there is no direct bus from St. Louis station to Toronto. 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 Toronto station. However, there are services departing from St. Louis and arriving at Toronto Union Station via Chicago Union Station and Windsor. The journey, including transfers, takes approximately 16h 39m.
The distance between St. Louis and Toronto is 1100 km. The road distance is 1201.9 km.
The best way to get from St. Louis to Toronto without a car is to bus via Indianapolis which takes 17h 55m and costs $130 - $280.
It takes approximately 5h 5m to get from St. Louis to Toronto, including transfers.
St. Louis to Toronto bus services, operated by Greyhound USA, depart from St Louis Bus Station.
St. Louis to Toronto train services, operated by Amtrak, depart from St. Louis station.
The best way to get from St. Louis to Toronto is to fly which takes 5h 5m and costs $120 - $650. Alternatively, you can train via Detroit, which costs $320 - $850 and takes 16h 39m, you could also bus via Indianapolis, which costs $130 - $280 and takes 17h 55m.
What companies run services between St. Louis, MO, USA and Toronto, ON, Canada?
Air Canada, Delta, and United Airlines fly from Lambert–St. Louis International Airport (STL) to Toronto Pearson International Airport (YYZ) every 3 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
- 1h 57m
- When
- Every day
- Estimated price
- $110–600
Flights from Lambert–St. Louis International Airport to Toronto Pearson International Airport via Chicago O'Hare
- Ave. Duration
- 4h 32m
- When
- Every day
- Estimated price
- $110–600
Flights from Lambert–St. Louis International Airport to Toronto Island Airport via Washington Dulles
- Ave. Duration
- 4h 42m
- When
- Every day
- Estimated price
- $160–750
Flights from Lambert–St. Louis International Airport to Toronto Island Airport via Chicago O'Hare
- Ave. Duration
- 4h 27m
- When
- Every day
- Estimated price
- $120–650
Flights from Lambert–St. Louis International Airport to Toronto Island Airport via New York La Guardia
- Ave. Duration
- 5h 1m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- $180–800
Flights from Lambert–St. Louis International Airport to Buffalo Niagara International Airport via Chicago O'Hare
- Ave. Duration
- 4h 40m
- When
- Every day
- Estimated price
- $200–1,100
Flights from Lambert–St. Louis International Airport to Buffalo Niagara International Airport via Washington Dulles
- Ave. Duration
- 4h 50m
- When
- Every day
- Estimated price
- $250–1,200
- Website
- aircanada.com
Flights from Lambert–St. Louis International Airport to Toronto Pearson International Airport
- Ave. Duration
- 1h 57m
- When
- Every day
- Estimated price
- $110–600
Flights from Lambert–St. Louis International Airport to Toronto Pearson International Airport via Chicago O'Hare
- Ave. Duration
- 4h 32m
- When
- Every day
- Estimated price
- $110–600
Flights from Lambert–St. Louis International Airport to Toronto Island Airport via Chicago O'Hare
- Ave. Duration
- 4h 27m
- When
- Every day
- Estimated price
- $120–650
Flights from Lambert–St. Louis International Airport to Toronto Island Airport via Montreal
- Ave. Duration
- 6h 41m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- $180–850
Flights from Lambert–St. Louis International Airport to Toronto Island Airport via New York La Guardia
- Ave. Duration
- 5h 1m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- $180–800
Flights from Lambert–St. Louis International Airport to Buffalo Niagara International Airport via Chicago O'Hare
- Ave. Duration
- 4h 40m
- When
- Every day
- Estimated price
- $200–1,100
- Website
- southwest.com
Flights from Lambert–St. Louis International Airport to Buffalo Niagara International Airport via Chicago Midway
- Ave. Duration
- 4h 18m
- When
- Saturday, Tuesday, Wednesday, and Sunday
- Estimated price
- $200–1,100
Flights from Lambert–St. Louis International Airport to Buffalo Niagara International Airport via Nashville
- Ave. Duration
- 4h 57m
- When
- Tuesday to Friday
- Estimated price
- $230–1,200
Flights from Lambert–St. Louis International Airport to Buffalo Niagara International Airport via Baltimore
- Ave. Duration
- 4h 56m
- When
- Monday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- $250–1,200
- Website
- delta.com
Flights from Lambert–St. Louis International Airport to Toronto Pearson International Airport via Detroit
- Ave. Duration
- 3h 48m
- When
- Every day
- Estimated price
- $110–600
Flights from Lambert–St. Louis International Airport to Buffalo Niagara International Airport via Detroit
- Ave. Duration
- 3h 52m
- When
- Every day
- Estimated price
- $190–1,100
- Website
- flyporter.com
Flights from Lambert–St. Louis International Airport to Toronto Island Airport via Chicago Midway
- Ave. Duration
- 3h 50m
- When
- Saturday, Tuesday, Wednesday, and Sunday
- Estimated price
- $290–1,300
Flights from Lambert–St. Louis International Airport to Toronto Island Airport via Nashville
- Ave. Duration
- 4h 45m
- When
- Tuesday, Wednesday, and Sunday
- Estimated price
- $320–1,400
Flights from Lambert–St. Louis International Airport to Toronto Island Airport via Chicago O'Hare
- Ave. Duration
- 4h 55m
- When
- Every day
- Estimated price
- $290–1,300
- Website
- aa.com
Flights from Lambert–St. Louis International Airport to Buffalo Niagara International Airport via Reagan Washington
- Ave. Duration
- 5h 10m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- $250–1,200
Flights from Lambert–St. Louis International Airport to Buffalo Niagara International Airport via Chicago O'Hare
- Ave. Duration
- 6h 18m
- When
- Every day
- Estimated price
- $200–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
- $120–260
- Website
- Amtrak
Train from Chicago Union Station to Detroit
- Ave. Duration
- 5h 20m
- Frequency
- 3 times a day
- Estimated price
- $120–260
- Website
- Amtrak
Train from St. Louis to Chicago Union Station
- Ave. Duration
- 4h 55m
- Frequency
- 5 times a day
- Estimated price
- $120–260
- Website
- Amtrak
Train from Chicago Union Station to Buffalo Depew Station
- Ave. Duration
- 10h 23m
- Frequency
- Twice daily
- Estimated price
- $220–480
- Website
- Amtrak
- Phone
- +1 888 842-7245
- Website
- VIA Rail
Train from Windsor to Toronto Union Station
- Ave. Duration
- 4h 10m
- Frequency
- 4 times a day
- Estimated price
- $80–300
- Website
- VIA Rail
- Escape
- $80–210
- Business
- $130–280
- Business Plus
- $140–300
- Economy
- $90–220
- Economy Plus
- $100–230
Train from Buffalo to Toronto Union Station
- Ave. Duration
- 4h 14m
- Frequency
- Once daily
- Estimated price
- $40–240
- Website
- VIA Rail
- Escape
- $40–130
- Business
- $85–230
- Business Plus
- $100–240
- Economy
- $45–140
- Economy Plus
- $50–150
Rome2Rio's guide to Greyhound USA
Contact DetailsContact Details
- Phone
- +1 214-849-8100
- ifsr@greyhound.com
- Website
- Greyhound
Bus from St Louis Bus Station to Indianapolis Union Station
- Ave. Duration
- 4h 25m
- Frequency
- Every 4 hours
- Estimated price
- $50–95
- Website
- Greyhound
Bus from St Louis Bus Station to Pittsburgh Intermodal Station
- Ave. Duration
- 13h 55m
- Frequency
- Every 4 hours
- Estimated price
- $120–240
- Website
- Greyhound
- Phone
- +1 888-378-3823
- info@baronsbus.com
- Website
- Barons Bus
Bus from Indianapolis, IN to Detroit, MI
- Ave. Duration
- 5h 5m
- Frequency
- Once daily
- Estimated price
- $35–95
- Website
- Barons Bus
- Phone
- +1 (855) 626-8585
- Website
- Flixbus USA
Bus from Detroit Bus Station to Toronto
- Ave. Duration
- 6h 25m
- Frequency
- Every 4 hours
- Estimated price
- $50–90
- Schedules at
- Flixbus USA
- Phone
- +1 905 374 8111
- airsales@niagaraairbus.com
- Website
- Niagra Airbus
Shuttle from Buffalo Airport to Pearson International Airport Terminal 1
- Ave. Duration
- 2h
- Frequency
- On demand
- Estimated price
- $120–160
- Website
- Niagra Airbus
- Phone
- +1 800-858-8555
- Website
- Trailways
Bus from Pittsburgh, Pa to Buffalo, Ny
- Saver
- $60–240
- Flexible
- $110–260
Bus from Buffalo to Toronto
- Saver
- $30–85
- Flexible
- $60–90
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 Toronto bus services, operated by Greyhound USA, arrive at Indianapolis Union Station.
Toronto is 1h ahead of St. Louis. It is currently 7:19 AM in St. Louis and 8:19 AM in Toronto.
St. Louis to Toronto train services, operated by Amtrak, arrive at Chicago Union Station.
Yes, the driving distance between St. Louis to Toronto is 1202 km. It takes approximately 12h 57m to drive from St. Louis to Toronto.
Book your St. Louis to Toronto train tickets online with Omio.
Book your St. Louis to Toronto bus tickets online with Omio.
There are 1964+ hotels available in Toronto.






















