The average train between Portland, ME and Salem takes 3h 34m and the fastest train takes 3h 14m. The train service runs several times per day from Portland, ME 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 Portland, ME and Salem. The earliest departure is at 5:18 AM in the morning, and the last departure from Portland, ME is at 6:33 PM which arrives into Salem at 10:52 PM. All services require a transfer at Boston and take an average of 3h 34m. The schedules shown below are for the next available departures.

3h 49m • 1 change

3h 19m • 1 change

3h 20m • 1 change

3h 25m • 1 change

3h 49m • 1 change

3h 19m • 1 change

3h 20m • 1 change

3h 25m • 1 change

3h 49m • 1 change

3h 19m • 1 change

3h 20m • 1 change

3h 25m • 1 change

3h 49m • 1 change

3h 19m • 1 change

3h 20m • 1 change

3h 25m • 1 change

3h 49m • 1 change

3h 19m • 1 change

3h 20m • 1 change

3h 25m • 1 change

3h 44m • 1 change

3h 44m • 1 change

3h 14m • 1 change

3h 19m • 1 change

3h 44m • 1 change

3h 44m • 1 change

3h 14m • 1 change

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