The average train between Salem and Union City takes 5h 34m and the fastest train takes 4h 53m. The train service runs several times per day from Salem to Union City. 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 Salem and Union City. The earliest departure is at 5:20 AM in the morning, and the last departure from Salem is at 11:05 PM which arrives into Union City at 8:51 AM. All services require a transfer at North Station and take an average of 5h 34m. The schedules shown below are for the next available departures.


5h 2m • 2 changes


5h 4m • 2 changes


5h 30m • 2 changes


4h 56m • 2 changes
Want to know about travelling from Salem to Union City? 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 Union City. However, there are services departing from Salem station and arriving at Union City station via Ny Moynihan Train Hall At Penn Station station. The journey, including transfers, takes approximately 5h 34m.
Salem to Union City train services, operated by MBTA, depart from Boston station.
Salem to Union City train services, operated by MBTA, arrive at Ny Moynihan Train Hall At Penn Station.
The distance between Salem and Union City is 323.9 km. The road distance is 400 km.
Amtrak operates a train from Boston to Ny Moynihan Train Hall At Penn Station every 3 hours. Tickets cost $70–160 and the journey takes 3h 57m. Amtrak Acela also services this route every 4 hours.