There are 5 ways to get from Oakville to St. Marys by train, bus (Flixbus), car, or bus
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train via London
best- Take the train from Oakville to Londontrain VIA Rail
- Take the train from London to St. Marystrain VIA Rail
3h 42m$43–429Drive 138.1 km
cheapest- Drive from Oakville to St. Maryscar 138.1 km
1h 57m$27–40Bus
- Take the bus from Oakville GO Bus to Bramalea GO Busbus 56
- Take the bus from Bramalea GO Bus to Kitchener GO Busbus 30 / ...
- Take the bus from Kitchener to St Marysbus
4h 49m$31–42Train
- Take the train from Oakville GO to Union Station GOtrain Lw
- Take the train from Toronto Union Station to St. Marystrain VIA Rail
4h 33m$43–251Bus via St. Marys: Town Hall
- Take the bus from Oakville GO Bus to Bramalea GO Busbus 56
- Take the bus from Bramalea GO Bus to Kitchener GO Busbus 30 / ...
- Take the bus from Kitchener: GO/VIA Station to St. Marys: Town Hallbus 2
5h 10m$33–41
Oakville to St. Marys by train
Questions & Answers
The cheapest way to get from Oakville to St. Marys is to drive which costs $27 - $40 and takes 1h 57m.
The fastest way to get from Oakville to St. Marys is to drive which takes 1h 57m and costs $27 - $40.
No, there is no direct bus from Oakville to St. Marys. However, there are services departing from Oakville GO Bus and arriving at St Marys via Bramalea GO Bus and Kitchener. The journey, including transfers, takes approximately 4h 49m.
No, there is no direct train from Oakville to St. Marys. However, there are services departing from Oakville and arriving at St. Marys via London. The journey, including transfers, takes approximately 3h 42m.
The distance between Oakville and St. Marys is 185 km. The road distance is 138.1 km.
The best way to get from Oakville to St. Marys without a car is to train via London which takes 3h 42m and costs $40 - $430.
It takes approximately 3h 42m to get from Oakville to St. Marys, including transfers.
Oakville to St. Marys bus services, operated by GO Transit, depart from Oakville GO Bus station.
Oakville to St. Marys train services, operated by VIA Rail, depart from Oakville station.
The best way to get from Oakville to St. Marys is to train via London which takes 3h 42m and costs $40 - $430. Alternatively, you can bus, which costs $30 - $45 and takes 4h 49m.
What companies run services between Oakville, ON, Canada and St. Marys, ON, Canada?
You can take a train from Oakville to St. Marys via London in around 3h 42m. Alternatively, you can take a bus from Oakville GO Bus to St Marys via Bramalea GO Bus, Kitchener GO Bus, and Kitchener in around 4h 49m.
- Phone
- +1 888 842-7245
- Website
- VIA Rail
Train from Oakville to London
- Ave. Duration
- 1h 51m
- Frequency
- 4 times a day
- Estimated price
- $35–230
- Website
- VIA Rail
- Escape
- $35–110
- Business
- $80–220
- Business Plus
- $95–230
- Economy
- $35–120
- Economy Plus
- $40–130
Train from London to St. Marys
- Ave. Duration
- 51 min
- Frequency
- Once daily
- Estimated price
- $8–200
- Website
- VIA Rail
- Escape
- $8–60
- Business
- $50–180
- Business Plus
- $65–200
- Economy
- $9–70
- Economy Plus
- $10–80
Train from Toronto Union Station to St. Marys
- Ave. Duration
- 2h 45m
- Frequency
- Once daily
- Estimated price
- $35–240
- Website
- VIA Rail
- Escape
- $35–120
- Business
- $80–220
- Business Plus
- $95–240
- Economy
- $40–130
- Economy Plus
- $45–140
- Phone
- +1 888-438-6646
- Website
- GO Transit
Train from Oakville GO to Union Station GO
- Ave. Duration
- 48 min
- Frequency
- Every 30 minutes
- Estimated price
- $8–11
- Website
- GO Transit
- Website
- GO Transit Schedules
- Passenger
- $8–11
- Phone
- +1 888-438-6646
- Website
- GO Transit
Bus from Oakville GO Bus to Bramalea GO Bus
- Ave. Duration
- 1h
- Frequency
- Hourly
- Estimated price
- $8–11
- Website
- GO Transit
- Website
- GO Transit Schedules
- Passenger
- $8–11
Bus from Bramalea GO Bus to Kitchener GO Bus
- Ave. Duration
- 1h 11m
- Frequency
- Hourly
- Estimated price
- $14–17
- Website
- GO Transit
- Website
- GO Transit Schedules
- Passenger
- $14–17
Bus from Oakville GO Bus to Bramalea GO Bus
- Ave. Duration
- 1h
- Frequency
- Hourly
- Estimated price
- $8–11
- Website
- GO Transit
- Website
- GO Transit Schedules
- Passenger
- $8–11
Bus from Bramalea GO Bus to Kitchener GO Bus
- Ave. Duration
- 1h 11m
- Frequency
- Hourly
- Estimated price
- $14–17
- Website
- GO Transit
- Website
- GO Transit Schedules
- Passenger
- $14–17
- Phone
- +1 (855) 626-8585
- Website
- Flixbus USA
Bus from Kitchener to St Marys
- Ave. Duration
- 1h 10m
- Frequency
- Twice daily
- Estimated price
- $8–15
- Schedules at
- Flixbus USA
- Phone
- +1 888 465 0783
- [email protected]
- Website
- perthcounty.ca
Bus from Kitchener: GO/VIA Station to St. Marys: Town Hall
- Ave. Duration
- 1h 31m
- Frequency
- Once daily
- Estimated price
- $10–14
- Schedules at
- stratford.ca
- Adults
- $10–14
Want to know more about travelling around the world?
Rome2Rio's Travel Guide series provide vital information for the global traveller. Read our range of informative guides on popular transport routes and companies - including How to get from Heathrow Airport into central London, How to get from Florence to Rome, and 5 incredible day trips from Florence by train - to help you get the most out of your next trip.
More Questions & Answers
Oakville to St. Marys bus services, operated by GO Transit, arrive at Bramalea GO Bus station.
Oakville to St. Marys train services, operated by VIA Rail, arrive at London station.
Yes, the driving distance between Oakville to St. Marys is 138 km. It takes approximately 1h 57m to drive from Oakville to St. Marys.
Book your Oakville to St. Marys train tickets online with Omio.
There are 42+ hotels available in St. Marys.










