There are 6 ways to get from St. Louis to Windsor by plane, bus (Greyhound), train (Amtrak), car, or bus (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 to Detroit
best- Fly from Lambert–St. Louis International Airport (STL) to Detroit (DTW)plane STL - DTW
4h 28m$958–1,409Bus
cheapest- Take the bus from St Louis Bus Station to Indianapolis Union Stationbus Greyhound US0421
- Take the bus from Indianapolis, IN to Detroit, MIbus Cincinnati / ...
10h 59m$90–187Train (Amtrak)
- Take the train from St. Louis to Chicago Union Stationtrain Lincoln Service / ...
- Take the train from Chicago Union Station to Detroittrain Wolverine
11h 55m$195–475Drive 836.7 km
- Drive from St. Louis to Windsorcar 836.7 km
8h 58m$170–245Fly to Windsor Airport
- Fly from Lambert–St. Louis International Airport (STL) to Windsor Airport (YQG)plane STL - YQG
8h 45m$198–1,108Bus via Auburn Gresham (Flixbus)
- Take the bus from St Louis Bus Station to Chicagobus FlixBus N2521
- Take the bus from Chicago to Detroit Bus Stationbus FlixBus 2552
13h 49m$136–209
Lambert–St. Louis International Airport (STL) to Detroit (DTW) flights
Comparing Your Travel Options
The cheapest way to get from St. Louis to Windsor is to bus which costs $90 - $190 and takes 10h 59m.
The fastest way to get from St. Louis to Windsor is to fly which takes 4h 28m and costs $950 - $1,500.
No, there is no direct bus from St. Louis station to Windsor. However, there are services departing from St Louis Bus Station and arriving at Detroit, MI via Indianapolis, IN. The journey, including transfers, takes approximately 10h 59m.
No, there is no direct train from St. Louis to Windsor. However, there are services departing from St. Louis and arriving at Congress St via Chicago Union Station and Baltimore St - Southbound. The journey, including transfers, takes approximately 11h 55m.
The distance between St. Louis and Windsor is 772 km. The road distance is 836.7 km.
It takes approximately 4h 28m to get from St. Louis to Windsor, including transfers.
St. Louis to Windsor bus services, operated by Greyhound USA, depart from St Louis Bus Station.
St. Louis to Windsor train services, operated by Amtrak, depart from St. Louis station.
The best way to get from St. Louis to Windsor is to fly which takes 4h 28m and costs $950 - $1,500. Alternatively, you can bus, which costs $90 - $190 and takes 10h 59m, you could also train, which costs $190 - $480 and takes 11h 55m.
St. Louis to Windsor bus services, operated by Greyhound USA, arrive at Indianapolis Union Station.
What companies run services between St. Louis, MO, USA and Windsor, ON, Canada?
Delta and Southwest Airlines fly from Lambert–St. Louis International Airport (STL) to Detroit (DTW) every 4 hours. Alternatively, you can take a bus from St Louis Bus Station to Windsor via Indianapolis, IN and Detroit, MI in around 10h 59m.
- Website
- southwest.com
Flights from Lambert–St. Louis International Airport to Detroit
- Ave. Duration
- 1h 27m
- When
- Every day
- Estimated price
- $120–800
Flights from Lambert–St. Louis International Airport to Detroit via Chicago Midway
- Ave. Duration
- 3h 16m
- When
- Tuesday, Wednesday, and Sunday
- Estimated price
- $130–800
Flights from Lambert–St. Louis International Airport to Detroit via Nashville
- Ave. Duration
- 3h 45m
- When
- Monday, Thursday, Friday, and Sunday
- Estimated price
- $160–900
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–240
- Website
- Amtrak
Train from Chicago Union Station to Detroit
- Ave. Duration
- 5h 20m
- Frequency
- 3 times a day
- Estimated price
- $95–240
- Website
- Amtrak
Rome2Rio's guide to Greyhound USA
Contact DetailsContact Details
- Phone
- +1 214-849-8100
- [email protected]
- Website
- Greyhound
Bus from St Louis Bus Station to Indianapolis Union Station
- Ave. Duration
- 4h 45m
- Frequency
- 3 times a day
- Estimated price
- $50–85
- Website
- Greyhound
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
Need to know: Greyhound
Read the travel guide
Why you should take the train in the US
Read the travel guide
Booking & Getting There
Windsor is 1h ahead of St. Louis. It is currently 7:26 PM in St. Louis and 8:26 PM in Windsor.
St. Louis to Windsor train services, operated by Amtrak, arrive at Chicago Union Station.
Yes, the driving distance between St. Louis to Windsor is 837 km. It takes approximately 8h 58m to drive from St. Louis to Windsor.
Book your St. Louis to Windsor bus tickets online with Omio.
There are 444+ hotels available in Windsor.








