There are 7 ways to get from Toronto to Granite City by plane, train (Amtrak), bus (Flixbus, Greyhound), car, 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 from Toronto Island Airport
best- Fly from Toronto Island Airport (YTZ) to Lambert–St. Louis International Airport (STL)plane YTZ - STL
5h 24m$119–537Fly from Toronto Pearson International Airport
cheapest- Fly from Toronto Pearson International Airport (YYZ) to Lambert–St. Louis International Airport (STL)plane YYZ - STL
5h 29m$107–483Train via Detroit
- Take the train from Toronto Union Station to Windsortrain
- Take the train from Detroit to Chicago Union Stationtrain
- Take the train from Chicago Union Station to St. Louistrain
16h 37m$219–571Bus via Indianapolis
- Take the bus from Toronto to Detroit Bus Stationbus
- Take the bus from Detroit, MI to Indianapolis, INbus
- Take the bus from Indianapolis Union Station to St Louis Bus Stationbus
18h 18m$118–209Drive 742.3 mi
- Drive from Toronto to Granite Citycar 742.3 mi
12h 49m$170–246Train
- Take the train from Toronto Union Station to Buffalotrain
- Take the train from Buffalo Depew Station to Chicago Union Stationtrain
- Take the train from Chicago Union Station to St. Louistrain
21h 38m$250–672Bus
- Take the bus from Toronto to Buffalobus
- Take the bus from Buffalo, Ny to Pittsburgh, Pabus 530
- Take the bus from Pittsburgh Intermodal Station to St Louis Bus Stationbus
25h 33m$186–454
Toronto Island Airport (YTZ) to Lambert–St. Louis International Airport (STL) flights
Comparing Your Travel Options
The cheapest way to get from Toronto to Granite City is to bus via Indianapolis which costs $110 - $210 and takes 18h 18m.
The fastest way to get from Toronto to Granite City is to fly which takes 5h 24m and costs $110 - $550.
No, there is no direct bus from Toronto to Granite City 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 18m.
No, there is no direct train from Toronto station to Granite City. However, there are services departing from Toronto Union Station and arriving at St. Louis via Detroit and Chicago Union Station. The journey, including transfers, takes approximately 16h 37m.
The distance between Toronto and Granite City is 688 miles. The road distance is 746.6 miles.
The best way to get from Toronto to Granite City without a car is to bus via Indianapolis which takes 18h 18m and costs $110 - $210.
It takes approximately 5h 24m to get from Toronto to Granite City, including transfers.
Toronto to Granite City bus services, operated by Flixbus USA, depart from Toronto station.
Toronto to Granite City train services, operated by VIA Rail, depart from Toronto Union Station.
The best way to get from Toronto to Granite City is to fly which takes 5h 24m and costs $110 - $550. Alternatively, you can train via Detroit, which costs $210 - $600 and takes 16h 37m, you could also bus via Indianapolis, which costs $110 - $210 and takes 18h 18m.
What companies run services between Toronto, ON, Canada and Granite City, IL, USA?
Air Canada, United Airlines, and four other airlines fly from Toronto Island Airport (YTZ) to Lambert–St. Louis International Airport (STL) hourly. Alternatively, you can take a train from Toronto Union Station to Granite City via Windsor, Detroit, Chicago Union Station, and St. Louis in around 16h 37m.
- Website
- united.com
Flights from Toronto Island Airport to Lambert–St. Louis International Airport via Chicago O'Hare
- Ave. Duration
- 4h 33m
- When
- Every day
- Estimated price
- $95–550
Flights from Toronto Island Airport to Lambert–St. Louis International Airport via Washington Dulles
- Ave. Duration
- 5h 20m
- When
- Every day
- Estimated price
- $120–600
Flights from Toronto Island Airport to Lambert–St. Louis International Airport via Newark
- Ave. Duration
- 5h 25m
- When
- Every day
- Estimated price
- $130–650
Flights from Toronto Pearson International Airport to Lambert–St. Louis International Airport
- Ave. Duration
- 2h 5m
- When
- Every day
- Estimated price
- $85–460
Flights from Toronto Pearson International Airport to Lambert–St. Louis International Airport via Chicago O'Hare
- Ave. Duration
- 4h 45m
- When
- Every day
- Estimated price
- $85–470
- Phone
- +1 888 842-7245
- Website
- VIA Rail
Train from Toronto Union Station to Windsor
- Ave. Duration
- 4h 18m
- Frequency
- 4 times a day
- Estimated price
- $55–210
- Website
- VIA Rail
- Escape
- $55–150
- Business
- $90–200
- Business Plus
- $100–210
- Economy
- $65–150
- Economy Plus
- $70–160
Train from Toronto Union Station to Buffalo
- Ave. Duration
- 4h 6m
- Frequency
- Once daily
- Estimated price
- $30–170
- Website
- VIA Rail
- Escape
- $30–90
- Business
- $60–160
- Business Plus
- $70–170
- Economy
- $30–95
- Economy Plus
- $35–110
- Phone
- +1 (855) 626-8585
- Website
- Flixbus USA
Bus from Toronto to Detroit Bus Station
- Ave. Duration
- 6h 50m
- Frequency
- 4 times a day
- Estimated price
- $35–55
- Schedules at
- Flixbus USA
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
Booking & Getting There
Toronto to Granite City bus services, operated by Flixbus USA, arrive at Detroit Bus Station.
Granite City is 1h behind Toronto. It is currently 5:08 PM in Toronto and 4:08 PM in Granite City.
Toronto to Granite City train services, operated by VIA Rail, arrive at Windsor station.
Yes, the driving distance between Toronto to Granite City is 747 miles. It takes approximately 12h 49m to drive from Toronto to Granite City.
Book your Toronto to Granite City train tickets online with Omio.
Book your Toronto to Granite City bus tickets online with Omio.
There are 552+ hotels available in Granite City.






