The average bus between Oklahoma City and Salem takes 39h 11m and the fastest bus takes 36h 38m. The bus service runs several times per day from Oklahoma City 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.
Buses run twice daily between Oklahoma City and Salem. The earliest departure is at 12:10 PM in the afternoon, and the last departure from Oklahoma City is at 9:45 PM which arrives into Salem at 11:23 AM. All services require a transfer at St Louis Bus Station and take an average of 39h 11m. The schedules shown below are for the next available departures.
Arrives +2 days


42h 56m • 2 changes
Arrives +2 days


37h 38m • 2 changes
Arrives +2 days


42h 56m • 2 changes
Arrives +2 days


37h 38m • 2 changes
Arrives +2 days


42h 32m • 2 changes
Arrives +2 days


37h 50m • 2 changes
Want to know about travelling from Oklahoma City 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 bus from Oklahoma City to Salem. However, there are services departing from Oklahoma City station and arriving at Salem station via St Louis Bus Station station. The journey, including transfers, takes approximately 39h 11m.
Oklahoma City to Salem bus services, operated by Greyhound USA, depart from Oklahoma City Bus Station.
Oklahoma City to Salem bus services, operated by Greyhound USA, arrive at Broadway At Walnut St station.
The distance between Oklahoma City and Salem is 1,991.9 km. The road distance is 2,343 km.
You can take a bus from Oklahoma City Bus Station to Broadway At Walnut St via St Louis Bus Station, Philadelphia Bus Station, and Market St At 11Th St in around 35h 16m.