The average bus between Salem and Canton takes 3h 32m and the fastest bus takes 2h 39m. The bus service runs several times per day from Salem to Canton. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Buses run every 2 hours between Salem and Canton. The earliest departure is at 5:31 AM in the morning, and the last departure from Salem is at 11:17 PM which arrives into Canton at 6:10 AM. All services require a transfer at Congress St @ Haymarket Sta and take an average of 3h 32m. The schedules shown below are for the next available departures.



2h 39m • 3 changes



2h 55m • 3 changes



3h 4m • 3 changes



2h 54m • 3 changes



2h 39m • 3 changes



2h 55m • 3 changes



3h 4m • 3 changes



2h 54m • 3 changes



2h 39m • 3 changes



2h 55m • 3 changes



3h 4m • 3 changes



2h 54m • 3 changes



2h 39m • 3 changes



2h 55m • 3 changes



3h 4m • 3 changes



2h 54m • 3 changes
Want to know about travelling from Salem to Canton? 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 bus from Salem to Canton. However, there are services departing from Salem station and arriving at Canton station via Congress St @ Haymarket Sta. The journey, including transfers, takes approximately 3h 32m.
Salem to Canton bus services, operated by MBTA, depart from North St @ Essex St station.
Salem to Canton bus services, operated by MBTA, arrive at Mattapan station.
The distance between Salem and Canton is 45 km. The road distance is 54 km.
You can take a bus from North St @ Essex St to Washington St from Endicott St to Maple St via Congress St @ Haymarket Sta, Temple Pl @ Washington St, Nubian, and Mattapan in around 3h 21m.