The average train between Canton and Haverhill takes 2h 32m and the fastest train takes 1h 56m. The train service runs several times per day from Canton to Haverhill. 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 4 times a day between Canton and Haverhill. The earliest departure is at 7:22 AM in the morning, and the last departure from Canton is at 10:05 PM which arrives into Haverhill at 12:13 AM. All services require a transfer at Ruggles and take an average of 2h 32m. The schedules shown below are for the next available departures.


2h 16m • 2 changes


2h 16m • 2 changes


2h 11m • 2 changes


1h 56m • 2 changes


2h 16m • 2 changes


2h 16m • 2 changes


2h 11m • 2 changes


1h 56m • 2 changes


2h 16m • 2 changes


2h 16m • 2 changes


2h 11m • 2 changes


1h 56m • 2 changes


2h 16m • 2 changes


2h 16m • 2 changes


2h 11m • 2 changes


1h 56m • 2 changes


2h 16m • 2 changes


2h 16m • 2 changes


2h 11m • 2 changes


1h 56m • 2 changes
Want to know about travelling from Canton to Haverhill? 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 Canton to Haverhill. However, there are services departing from Canton station and arriving at Haverhill station via Ruggles. The journey, including transfers, takes approximately 2h 32m.
Canton to Haverhill train services, operated by MBTA, depart from Canton Center station.
Canton to Haverhill train services, operated by MBTA, arrive at Haverhill Amtrak station.
The distance between Canton and Haverhill is 68.9 km. The road distance is 80 km.
You can take a train from Canton Center to Haverhill Amtrak via Ruggles, Ruggles, North Station, and Boston in around 2h 25m.