The average train between Worcester and Salem takes 2h 47m and the fastest train takes 2h 2m. There is a train service every few hours from Worcester 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 hourly between Worcester and Salem. The earliest departure is at 4:15 AM at night, and the last departure from Worcester is at 11:25 PM which arrives into Salem at 7:02 AM. All services require a transfer at Lansdowne and take an average of 2h 47m. The schedules shown below are for the next available departures.


2h 52m • 2 changes


2h 52m • 2 changes


2h 37m • 2 changes
Arrives next day


3h 12m • 2 changes


2h 52m • 2 changes


2h 52m • 2 changes


2h 52m • 2 changes


2h 52m • 2 changes


2h 53m • 2 changes


2h 40m • 2 changes


2h 26m • 2 changes


2h 37m • 2 changes


2h 53m • 2 changes


2h 40m • 2 changes


2h 26m • 2 changes


2h 37m • 2 changes


2h 53m • 2 changes


2h 40m • 2 changes


2h 26m • 2 changes


2h 37m • 2 changes
Want to know about travelling from Worcester 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 Worcester to Salem. However, there are services departing from Worcester station and arriving at Salem station via Lansdowne. The journey, including transfers, takes approximately 2h 47m.
Worcester to Salem train services, operated by MBTA, depart from Worcester station.
Worcester to Salem train services, operated by MBTA, arrive at Salem station.
The distance between Worcester and Salem is 79.7 km. The road distance is 99 km.
You can take a train from Worcester to Salem via Lansdowne, Kenmore, North Station, and North Station in around 2h 55m.