The average train between Salem and Portland, ME takes 3h 28m and the fastest train takes 3h 10m. The train service runs several times per day from Salem to Portland, ME. 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 Salem and Portland, ME. The earliest departure is at 7:40 AM in the morning, and the last departure from Salem is at 10:05 PM which arrives into Portland, ME at 1:55 AM. All services require a transfer at North Station and take an average of 3h 28m. The schedules shown below are for the next available departures.

3h 25m • 1 change

3h 23m • 1 change

3h 18m • 1 change

3h 25m • 1 change

3h 25m • 1 change

3h 23m • 1 change

3h 18m • 1 change

3h 25m • 1 change

3h 25m • 1 change

3h 23m • 1 change

3h 18m • 1 change

3h 25m • 1 change

3h 25m • 1 change

3h 23m • 1 change

3h 18m • 1 change

3h 25m • 1 change

3h 25m • 1 change

3h 23m • 1 change

3h 18m • 1 change

3h 25m • 1 change

3h 40m • 1 change

3h 40m • 1 change

3h 35m • 1 change

3h 10m • 1 change

3h 40m • 1 change

3h 40m • 1 change

3h 35m • 1 change

3h 10m • 1 change
Want to know about travelling from Salem to Portland, ME? 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 Salem to Portland, ME. However, there are services departing from Salem station and arriving at Portland, ME station via Portland. The journey, including transfers, takes approximately 3h 28m.
Salem to Portland, ME train services, operated by MBTA, depart from Boston station.
Salem to Portland, ME train services, operated by MBTA, arrive at Portland station.
The distance between Salem and Portland, ME is 135.4 km. The road distance is 212 km.
Amtrak operates a train from Boston to Portland 5 times a day. Tickets cost $35–80 and the journey takes 2h 30m.