The average train between Toronto and Waterloo takes 2h 11m and the fastest train takes 1h 59m. The train service runs several times per day from Toronto 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 3 hours between Toronto and Waterloo. The earliest departure is at 8:23 AM in the morning, and the last departure from Toronto is at 10:26 PM which arrives into Waterloo at 12:38 AM. All services require a transfer at Union Station - Northbound Platform Towards Finch and take an average of 2h 11m. The schedules shown below are for the next available departures.

2h 9m • 1 change

2h 10m • 1 change

2h 7m • 1 change

2h 17m • 1 change

2h • 1 change

2h 15m • 1 change

2h 17m • 1 change

2h 14m • 1 change

2h • 1 change

2h 15m • 1 change

2h 17m • 1 change

2h 14m • 1 change

2h • 1 change

2h 15m • 1 change

2h 17m • 1 change

2h 14m • 1 change

2h 1m • 1 change

2h 14m • 1 change
Arrives next day

2h 15m • 1 change

1h 59m • 1 change

2h 13m • 1 change
Arrives next day

2h 11m • 1 change

2h • 1 change

2h 15m • 1 change

2h 17m • 1 change

2h 14m • 1 change
Want to know about travelling from Toronto 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 Toronto to Waterloo. However, there are services departing from Toronto station and arriving at Waterloo station via Kitchener GO. The journey, including transfers, takes approximately 2h 11m.
Toronto to Waterloo train services, operated by Toronto Transit Commission (TTC), depart from Union Station GO.
Toronto to Waterloo train services, operated by Toronto Transit Commission (TTC), arrive at Kitchener GO station.
The distance between Toronto and Waterloo is 91.6 km. The road distance is 115 km.
GO Transit operates a train from Union Station GO to Kitchener GO every 4 hours. Tickets cost $17–22 and the journey takes 1h 52m.