There are 8 ways to get from Toronto to St. Louis by plane, train (Amtrak), bus (Flixbus, Greyhound), car, shuttle, or bus (Greyhound, Flixbus)
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Fly from Toronto Pearson International Airport
best- Fly from Toronto Pearson International Airport (YYZ) to Lambert–St. Louis International Airport (STL)YYZ - STL
5h 37m$262–706Bus via Indianapolis
cheapest- Take the bus from Toronto to Detroit Bus Station
- Take the bus from Detroit, MI to Indianapolis, IN
- Take the bus from Indianapolis Union Station to St Louis Bus Station
18h 5m$100–270Train via Detroit
- Take the train from Toronto Union Station to Windsor
- Take the train from Detroit to Chicago Union Station
- Take the train from Chicago Union Station to St. Louis
16h 24m$123–479Drive 747.2 mi
- Drive from Toronto to St. Louis747.2 mi
12h 50m$171–247Fly from Toronto Island Airport
- Fly from Toronto Island Airport (YTZ) to Lambert–St. Louis International Airport (STL)YTZ - STL
7h 22m$405–1,105Shuttle to Buffalo Niagara International Airport, fly
- Take a shuttle bus from Pearson International Airport Terminal 1 to Buffalo Airport
- Fly from Buffalo Niagara International Airport (BUF) to Lambert–St. Louis International Airport (STL)BUF - STL
8h 38m$277–1,069Train
- Take the train from Toronto Union Station to Buffalo
- Take the train from Buffalo Depew Station to Chicago Union Station
- Take the train from Chicago Union Station to St. Louis
21h 25m$129–535Bus
- Take the bus from Toronto to Buffalo
- Take the bus from Buffalo to Pittsburgh
- Take the bus from Pittsburgh Intermodal Station to St Louis Bus Station
25h 10m$124–419
Toronto to St. Louis by train and car
Questions & Answers
The cheapest way to get from Toronto to St. Louis is to bus via Indianapolis which costs $95 - $270 and takes 18h 5m.
The fastest way to get from Toronto to St. Louis is to fly which takes 5h 37m and costs $260 - $750.
No, there is no direct bus from Toronto to St. Louis station. However, there are services departing from Toronto and arriving at St Louis Bus Station via Detroit, MI and Indianapolis Union Station. The journey, including transfers, takes approximately 18h 5m.
No, there is no direct train from Toronto station to St. Louis. However, there are services departing from Toronto Union Station and arriving at St. Louis via Buffalo Depew Station and Chicago Union Station. The journey, including transfers, takes approximately 21h 25m.
The distance between Toronto and St. Louis is 687 miles. The road distance is 751.5 miles.
The best way to get from Toronto to St. Louis without a car is to bus via Indianapolis which takes 18h 5m and costs $95 - $270.
It takes approximately 5h 37m to get from Toronto to St. Louis, including transfers.
Toronto to St. Louis bus services, operated by Flixbus USA, depart from Toronto station.
Toronto to St. Louis train services, operated by VIA Rail, depart from Toronto Union Station.
The best way to get from Toronto to St. Louis is to fly which takes 5h 37m and costs $260 - $750. Alternatively, you can train via Detroit, which costs $120 - $480 and takes 16h 24m, you could also bus via Indianapolis, which costs $95 - $270 and takes 18h 5m.
What companies run services between Toronto, ON, Canada and St. Louis, MO, USA?
Air Canada, Delta, and two other airlines fly from Toronto Pearson International Airport (YYZ) to Lambert–St. Louis International Airport (STL) every 4 hours. Alternatively, you can take a train from Toronto Union Station to St. Louis via Windsor, Detroit, and Chicago Union Station in around 16h 24m.
- Website
- southwest.com
Flights from Toronto Island Airport to Lambert–St. Louis International Airport via Chicago Midway
- Ave. Duration
- 4h 20m
- When
- Wednesday
- Estimated price
- $210–950
Flights from Toronto Island Airport to Lambert–St. Louis International Airport via Boston
- Ave. Duration
- 5h 50m
- When
- Every day
- Estimated price
- $160–750
Flights from Toronto Island Airport to Lambert–St. Louis International Airport via New York La Guardia
- Ave. Duration
- 5h 35m
- When
- Monday, Tuesday, Friday, and Sunday
- Estimated price
- $140–700
Flights from Buffalo Niagara International Airport to Lambert–St. Louis International Airport via Chicago Midway
- Ave. Duration
- 4h 16m
- When
- Every day
- Estimated price
- $180–1,000
Flights from Buffalo Niagara International Airport to Lambert–St. Louis International Airport via Nashville
- Ave. Duration
- 4h 45m
- When
- Wednesday and Thursday
- Estimated price
- $210–1,100
Flights from Buffalo Niagara International Airport to Lambert–St. Louis International Airport via Baltimore
- Ave. Duration
- 6h 27m
- When
- Every day
- Estimated price
- $230–1,100
- Website
- united.com
Flights from Toronto Pearson International Airport to Lambert–St. Louis International Airport
- Ave. Duration
- 2h 29m
- When
- Every day
- Estimated price
- $100–550
Flights from Toronto Pearson International Airport to Lambert–St. Louis International Airport via Chicago O'Hare
- Ave. Duration
- 4h 49m
- When
- Every day
- Estimated price
- $100–550
Flights from Toronto Island Airport to Lambert–St. Louis International Airport via Chicago O'Hare
- Ave. Duration
- 5h 12m
- When
- Monday to Friday
- Estimated price
- $100–550
Flights from Toronto Island Airport to Lambert–St. Louis International Airport via Washington Dulles
- Ave. Duration
- 5h 27m
- When
- Monday and Saturday
- Estimated price
- $120–650
Flights from Toronto Island Airport to Lambert–St. Louis International Airport via Montreal
- Ave. Duration
- 5h 20m
- When
- Every day
- Estimated price
- $140–700
Flights from Toronto Island Airport to Lambert–St. Louis International Airport via Newark
- Ave. Duration
- 6h 18m
- When
- Monday, Tuesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- $140–650
Flights from Buffalo Niagara International Airport to Lambert–St. Louis International Airport via Chicago O'Hare
- Ave. Duration
- 5h 38m
- When
- Every day
- Estimated price
- $180–1,000
- Website
- aircanada.com
Flights from Toronto Pearson International Airport to Lambert–St. Louis International Airport
- Ave. Duration
- 2h 29m
- When
- Every day
- Estimated price
- $100–550
Flights from Toronto Pearson International Airport to Lambert–St. Louis International Airport via Chicago O'Hare
- Ave. Duration
- 4h 49m
- When
- Every day
- Estimated price
- $100–550
Flights from Toronto Island Airport to Lambert–St. Louis International Airport via Chicago O'Hare
- Ave. Duration
- 5h 12m
- When
- Monday to Friday
- Estimated price
- $100–550
Flights from Toronto Island Airport to Lambert–St. Louis International Airport via Montreal
- Ave. Duration
- 7h 7m
- When
- Every day
- Estimated price
- $140–700
Flights from Buffalo Niagara International Airport to Lambert–St. Louis International Airport via Chicago O'Hare
- Ave. Duration
- 5h 38m
- When
- Every day
- Estimated price
- $180–1,000
- Website
- aa.com
Flights from Toronto Pearson International Airport to Lambert–St. Louis International Airport via Chicago O'Hare
- Ave. Duration
- 5h 48m
- When
- Every day
- Estimated price
- $100–550
Flights from Buffalo Niagara International Airport to Lambert–St. Louis International Airport via Chicago O'Hare
- Ave. Duration
- 6h 39m
- When
- Every day
- Estimated price
- $180–1,000
Flights from Buffalo Niagara International Airport to Lambert–St. Louis International Airport via Reagan Washington
- Ave. Duration
- 7h 43m
- When
- Monday, Tuesday, Thursday, Friday, and Sunday
- Estimated price
- $230–1,100
- Website
- delta.com
Flights from Toronto Pearson International Airport to Lambert–St. Louis International Airport via Detroit
- Ave. Duration
- 4h 52m
- When
- Every day
- Estimated price
- $100–550
Flights from Buffalo Niagara International Airport to Lambert–St. Louis International Airport via Detroit
- Ave. Duration
- 5h 6m
- When
- Every day
- Estimated price
- $180–950
- Phone
- +1 888 842-7245
- Website
- viarail.ca
Train from Toronto Union Station to Windsor
- Ave. Duration
- 4h 18m
- Frequency
- 4 times a day
- Estimated price
- $35–100
- Website
- https://www.viarail.ca/en
- Economy Adult - same day booking
- $40–100
- Economy Adult - Advanced Booking
- $40–80
- Economy Escape Advanced Booking - Adult
- $35–55
Train from Toronto Union Station to Buffalo
- Ave. Duration
- 4h 6m
- Frequency
- Once daily
- Estimated price
- $23–90
- Website
- https://www.viarail.ca/en
- Economy Adult - same day booking
- $26–90
- Economy Adult - Advanced Booking
- $26–70
- Economy Escape Advanced Booking - Adult
- $23–40
Rome2Rio's guide to Amtrak
Contact Details
- Phone
- +1 800-872-7245
- Website
- amtrak.com
Train from Detroit to Chicago Union Station
- Ave. Duration
- 5h 6m
- Frequency
- 3 times a day
- Estimated price
- $45–130
- Website
- https://www.amtrak.com/home.html
Train from Chicago Union Station to St. Louis
- Ave. Duration
- 4h 46m
- Frequency
- 5 times a day
- Estimated price
- $40–250
- Website
- https://www.amtrak.com/home.html
Train from Buffalo Depew Station to Chicago Union Station
- Ave. Duration
- 10h 33m
- Frequency
- Twice daily
- Estimated price
- $65–200
- Website
- https://www.amtrak.com/home.html
- Phone
- +1 (855) 626-8585
- Website
- flixbus.com
Bus from Toronto to Detroit Bus Station
- Ave. Duration
- 6h 50m
- Frequency
- 3 times a day
- Estimated price
- $35–80
- Schedules at
- flixbus.com
Bus from Toronto to Buffalo
- Ave. Duration
- 3h 20m
- Frequency
- 3 times a day
- Estimated price
- $22–50
- Schedules at
- flixbus.com
- Phone
- +1 888-378-3823
- info@baronsbus.com
- Website
- baronsbus.com
Bus from Detroit, MI to Indianapolis, IN
- Ave. Duration
- 5h 20m
- Frequency
- Once daily
- Estimated price
- $27–70
- Website
- https://baronsbus.com
Rome2Rio's guide to Greyhound USA
Contact Details
- Phone
- +1 214-849-8100
- ifsr@greyhound.com
- Website
- greyhound.com
Bus from Indianapolis Union Station to St Louis Bus Station
- Ave. Duration
- 3h 55m
- Frequency
- 3 times a day
- Estimated price
- $35–120
- Website
- https://www.greyhound.com/
Bus from Toronto to Buffalo
- Ave. Duration
- 2h 45m
- Frequency
- 3 times a day
- Estimated price
- $19–30
- Website
- https://www.greyhound.com/
Bus from Pittsburgh Intermodal Station to St Louis Bus Station
- Ave. Duration
- 12h 55m
- Frequency
- 3 times a day
- Estimated price
- $65–180
- Website
- https://www.greyhound.com/
- Phone
- 905-374-8111
- airsales@niagaraairbus.com
- Website
- niagaraairbus.com
Shuttle from Pearson International Airport Terminal 1 to Buffalo Airport
- Ave. Duration
- 2h
- Frequency
- On demand
- Estimated price
- $90–120
- Website
- https://www.niagaraairbus.com
- Schedules at
- https://www.niagaraairbus.com
- Book at
- https://www.niagaraairbus.com
- Phone
- +1 800-858-8555
- Website
- trailways.com
Bus from Toronto to Buffalo
- Ave. Duration
- 2h 55m
- Frequency
- Twice daily
- Estimated price
- $21–60
- Website
- https://trailways.com
- Schedules at
- https://trailways.com/schedules/
- Saver
- $21–60
- Flexible
- $40–60
Bus from Buffalo to Pittsburgh
- Ave. Duration
- 7h 30m
- Frequency
- Once daily
- Estimated price
- $40–180
- Website
- https://trailways.com
- Schedules at
- https://trailways.com/schedules/
- Saver
- $40–170
- Flexible
- $80–180
- Phone
- +1 814-574-1827
- Website
- fullingtontours.com
Bus from Buffalo to Pittsburgh
- Ave. Duration
- 7h 30m
- Frequency
- Once daily
- Estimated price
- $110–160
- Website
- https://www.fullingtontours.com
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
Why you should take the train in the US
Read the travel guide
Need to know: Greyhound
Read the travel guide
More Questions & Answers
Toronto to St. Louis bus services, operated by Flixbus USA, arrive at Detroit Bus Station.
St. Louis is 1h behind Toronto. It is currently 3:56 AM in Toronto and 2:56 AM in St. Louis.
Toronto to St. Louis train services, operated by VIA Rail, arrive at Buffalo station.
Yes, the driving distance between Toronto to St. Louis is 752 miles. It takes approximately 12h 50m to drive from Toronto to St. Louis.
Book your Toronto to St. Louis train tickets online with Omio.
Book your Toronto to St. Louis bus tickets online with Omio.
There are 437+ hotels available in St. Louis.





















