The average bus between Salem and Gresham takes 2h 35m and the fastest bus takes 2h 17m. There is a bus service every few hours from Salem to Gresham. 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 hourly between Salem and Gresham. The earliest departure is at 3:35 AM at night, and the last departure from Salem is at 7:50 PM which arrives into Gresham at 10:07 PM. All services require a transfer at Portland Amtrak Station and take an average of 2h 35m. The schedules shown below are for the next available departures.

2h 39m • 1 change

2h 25m • 1 change

2h 50m • 1 change

2h 39m • 1 change

2h 47m • 1 change

2h 30m • 1 change

2h 47m • 1 change

2h 23m • 1 change

2h 27m • 1 change

2h 35m • 1 change

2h 49m • 1 change

2h 23m • 1 change

2h 27m • 1 change

2h 35m • 1 change

2h 49m • 1 change

2h 23m • 1 change

2h 27m • 1 change

2h 35m • 1 change

2h 49m • 1 change

2h 23m • 1 change
Want to know about travelling from Salem to Gresham? 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 Gresham. However, there are services departing from Salem station and arriving at Gresham station via Portland Amtrak Station station. The journey, including transfers, takes approximately 2h 35m.
Salem to Gresham bus services, operated by Point, depart from Salem Amtrak Station Bus Platform.
Salem to Gresham bus services, operated by Point, arrive at NW Division & Eastman Pkwy station.
The distance between Salem and Gresham is 77.8 km. The road distance is 102 km.
You can take a bus from Salem Amtrak Station Bus Platform to NW Division & Eastman Pkwy via Portland Amtrak Station and NW 5th & Davis in around 2h 28m.