There are 8 ways to get from St. Louis to Markham by plane, bus, 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, 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 Unionville GO Busbus
5h 47m$112–614Train 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
18h 24m$297–788Bus 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 Brampton Bramalea GObus
- Take the bus from Bramalea GO Bus to Unionville GO Busbus 56
19h$136–274Drive 1,216.6 km
- Drive from St. Louis to Markhamcar 1,216.6 km
13h 9m$240–347Fly to Buffalo Niagara International Airport, shuttle, bus
- 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
- Take the bus from Pearson International Airport Terminal 1 to Unionville GO Busbus
8h 48m$302–1,124Fly to Toronto Island Airport
- Fly from Lambert–St. Louis International Airport (STL) to Toronto Island Airport (YTZ)plane STL - YTZ
8h 34m$122–615Train
- 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
23h 17m$345–925Bus
- 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
29h$217–581
St. Louis to Markham by train and car
Questions & Answers
The cheapest way to get from St. Louis to Markham is to bus via Indianapolis which costs $130 - $280 and takes 19h.
The fastest way to get from St. Louis to Markham is to fly and bus which takes 5h 47m and costs $110 - $650.
No, there is no direct bus from St. Louis station to Markham. However, there are services departing from St Louis Bus Station and arriving at Unionville GO Bus via Indianapolis, IN, Detroit Bus Station and Bramalea GO Bus. The journey, including transfers, takes approximately 19h.
No, there is no direct train from St. Louis to Markham. However, there are services departing from St. Louis and arriving at Centennial GO via Chicago Union Station, Windsor and Union Station GO. The journey, including transfers, takes approximately 18h 24m.
The distance between St. Louis and Markham is 1119 km. The road distance is 1216.6 km.
The best way to get from St. Louis to Markham without a car is to bus via Indianapolis which takes 19h and costs $130 - $280.
It takes approximately 5h 47m to get from St. Louis to Markham, including transfers.
St. Louis to Markham bus services, operated by Greyhound USA, depart from St Louis Bus Station.
St. Louis to Markham train services, operated by Amtrak, depart from St. Louis station.
The best way to get from St. Louis to Markham is to train via Detroit which takes 18h 24m and costs $290 - $800. Alternatively, you can bus via Indianapolis, which costs $130 - $280 and takes 19h, you could also fly, which costs $120 - $650 and takes 8h 34m.
What companies run services between St. Louis, MO, USA and Markham, ON, Canada?
You can take a train from St. Louis to Centennial GO via Chicago Union Station, Detroit, Windsor, and Union Station GO in around 18h 24m. Alternatively, you can take a bus from St Louis Bus Station to Unionville GO Bus via Indianapolis, IN, Detroit Bus Station, Brampton Bramalea GO, and Bramalea GO Bus in around 19h.
- 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 31m
- When
- Every day
- Estimated price
- $110–600
Flights from Lambert–St. Louis International Airport to Buffalo Niagara International Airport via Chicago O'Hare
- Ave. Duration
- 4h 37m
- When
- Every day
- Estimated price
- $180–1,000
Flights from Lambert–St. Louis International Airport to Buffalo Niagara International Airport via Washington Dulles
- Ave. Duration
- 4h 50m
- When
- Every day
- Estimated price
- $220–1,100
Flights from Lambert–St. Louis International Airport to Toronto Island Airport via Washington Dulles
- Ave. Duration
- 4h 42m
- When
- Every day
- Estimated price
- $140–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
- $110–600
Flights from Lambert–St. Louis International Airport to Toronto Island Airport via New York La Guardia
- Ave. Duration
- 5h 14m
- When
- Sunday and Saturday
- Estimated price
- $160–800
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
- $100–240
- Website
- Amtrak
Train from Chicago Union Station to Detroit
- Ave. Duration
- 5h 20m
- Frequency
- 3 times a day
- Estimated price
- $100–240
- Website
- Amtrak
Train from St. Louis to Chicago Union Station
- Ave. Duration
- 4h 55m
- Frequency
- 5 times a day
- Estimated price
- $100–240
- Website
- Amtrak
Train from Chicago Union Station to Buffalo Depew Station
- Ave. Duration
- 10h 23m
- Frequency
- Twice daily
- Estimated price
- $190–440
- Website
- Amtrak
- Phone
- +1 888-438-6646
- Website
- GO Transit
Bus from Pearson International Airport Terminal 1 to Unionville GO Bus
- Ave. Duration
- 45 min
- Frequency
- Hourly
- Estimated price
- $9–11
- Website
- GO Transit
- Website
- GO Transit Schedules
- Passenger
- $9–11
Bus from Bramalea GO Bus to Unionville GO Bus
- Ave. Duration
- 50 min
- Frequency
- Hourly
- Estimated price
- $8–11
- Website
- GO Transit
- Website
- GO Transit Schedules
- Passenger
- $8–11
Bus from Pearson International Airport Terminal 1 to Unionville GO Bus
- Ave. Duration
- 45 min
- Frequency
- Hourly
- Estimated price
- $9–11
- Website
- GO Transit
- Website
- GO Transit Schedules
- Passenger
- $9–11
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 Markham bus services, operated by Greyhound USA, arrive at Indianapolis Union Station.
Markham is 1h ahead of St. Louis. It is currently 9:37 AM in St. Louis and 10:37 AM in Markham.
St. Louis to Markham train services, operated by Amtrak, arrive at Chicago Union Station.
Yes, the driving distance between St. Louis to Markham is 1217 km. It takes approximately 13h 9m to drive from St. Louis to Markham.
There are 262+ hotels available in Markham.







