The average train between Oshawa and Waterloo takes 4h 22m and the fastest train takes 2h 28m. The train service runs several times per day from Oshawa to Waterloo. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run every 4 hours between Oshawa and Waterloo. The earliest departure is at 11:22 AM in the morning, and the last departure from Oshawa is at 10:37 PM which arrives into Waterloo at 10:26 AM. All services require a transfer, and take on average 4h 22m. The schedules shown below are for the next available departures.

3h 6m • 1 change

3h 51m • 1 change

2h 30m • 1 change

2h 48m • 1 change

3h 6m • 1 change

3h 51m • 1 change

2h 30m • 1 change

2h 48m • 1 change

3h 4m • 1 change

3h 49m • 1 change

2h 28m • 1 change

2h 46m • 1 change

3h 4m • 1 change

3h 49m • 1 change

2h 28m • 1 change

2h 46m • 1 change

3h 4m • 1 change

3h 49m • 1 change

2h 28m • 1 change

2h 46m • 1 change
Want to know about travelling from Oshawa to Waterloo? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct train from Oshawa to Waterloo. However, there are services departing from Oshawa station and arriving at Waterloo station via Toronto Union Station station. The journey, including transfers, takes approximately 4h 22m.
Oshawa to Waterloo train services, operated by VIA Rail, depart from Oshawa station.
Oshawa to Waterloo train services, operated by VIA Rail, arrive at Kitchener GO station.
Book your Oshawa to Waterloo train tickets online with VIA Rail and GO Transit.
The distance between Oshawa and Waterloo is 142.8 km. The road distance is 157 km.
You can take a train from Oshawa to Kitchener GO via Union Station GO in around 3h 44m.