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

2h 7m • 1 change

1h 37m • 1 change

1h 38m • 1 change

1h 43m • 1 change

2h 7m • 1 change

1h 37m • 1 change

1h 38m • 1 change

1h 43m • 1 change

2h 7m • 1 change

1h 37m • 1 change

1h 38m • 1 change

1h 43m • 1 change

2h 2m • 1 change

2h 2m • 1 change

1h 32m • 1 change

1h 37m • 1 change

2h 2m • 1 change

2h 2m • 1 change

1h 32m • 1 change

1h 37m • 1 change

2h 7m • 1 change

1h 37m • 1 change

1h 38m • 1 change

1h 43m • 1 change
Want to know about travelling from Haverhill to Salem? 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 Haverhill to Salem. However, there are services departing from Haverhill station and arriving at Salem station via Boston. The journey, including transfers, takes approximately 1h 52m.
Haverhill to Salem train services, operated by Amtrak, depart from Haverhill Amtrak station.
Haverhill to Salem train services, operated by Amtrak, arrive at Salem station.
The distance between Haverhill and Salem is 32.1 km. The road distance is 80 km.
You can take a train from Haverhill Amtrak to Salem via Boston and North Station in around 1h 50m.