There are 7 ways to get from St. Louis to Oklahoma by bus (Greyhound), train (Amtrak), car, or plane
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Bus (Greyhound)
best- Take the bus from St Louis Bus Station to Oklahoma City Bus Stationbus Greyhound US1210
9h 44m$88–134Train (Amtrak)
- Take the train from St. Louis to Fort Worthtrain Texas Eagle
- Take the train from Fort Worth to Oklahoma Citytrain Heartland Flyer
22h 37m$233–570Drive 497.6 mi
- Drive from St. Louis to Oklahoma Citycar 497.6 mi
7h 59m$91–132Fly to Will Rogers World Airport
- Fly from Lambert–St. Louis International Airport (STL) to Will Rogers World Airport (OKC)plane STL - OKC
6h$376–932Fly to Lawton–Fort Sill Regional Airport
- Fly from Lambert–St. Louis International Airport (STL) to Lawton–Fort Sill Regional Airport (LAW)plane STL - LAW
6h 7m$106–490Fly to Stillwater Regional Airport
- Fly from Lambert–St. Louis International Airport (STL) to Stillwater Regional Airport (SWO)plane STL - SWO
6h 19m$108–502Fly to Tulsa International Airport
- Fly from Lambert–St. Louis International Airport (STL) to Tulsa International Airport (TUL)plane STL - TUL
6h 35m$154–854
St. Louis to Oklahoma by train (Amtrak)
Comparing Your Travel Options
The cheapest way to get from St. Louis to Oklahoma is to bus which costs $85 - $140 and takes 9h 44m.
The fastest way to get from St. Louis to Oklahoma is to fly which takes 6h and costs $370 - $950.
No, there is no direct bus from St. Louis station to Oklahoma station. However, there are services departing from St Louis Bus Station and arriving at Oklahoma City Bus Station via . The journey, including transfers, takes approximately 9h 44m.
No, there is no direct train from St. Louis to Oklahoma. However, there are services departing from St. Louis and arriving at Oklahoma City via Fort Worth. The journey, including transfers, takes approximately 22h 37m.
The distance between St. Louis and Oklahoma is 505 miles. The road distance is 500.5 miles.
The best way to get from St. Louis to Oklahoma without a car is to bus which takes 9h 44m and costs $85 - $140.
It takes approximately 9h 44m to get from St. Louis to Oklahoma, including transfers.
St. Louis to Oklahoma bus services, operated by Greyhound USA, depart from St Louis Bus Station.
St. Louis to Oklahoma train services, operated by Amtrak, depart from St. Louis station.
The best way to get from St. Louis to Oklahoma is to bus which takes 9h 44m and costs $85 - $140. Alternatively, you can train, which costs $230 - $600 and takes 22h 37m, you could also fly, which costs $370 - $950 and takes 6h.
What companies run services between St. Louis, MO, USA and Oklahoma, USA?
Greyhound USA operates a bus from St Louis Bus Station to Oklahoma City Bus Station twice daily. Tickets cost $80–130 and the journey takes 9h 40m. Alternatively, you can take a train from St. Louis to Oklahoma City via Fort Worth in around 22h 37m.
- Website
- southwest.com
Flights from Lambert–St. Louis International Airport to Will Rogers World Airport via Nashville
- Ave. Duration
- 4h 15m
- When
- Monday, Thursday, and Friday
- Estimated price
- $130–700
Flights from Lambert–St. Louis International Airport to Will Rogers World Airport via Chicago Midway
- Ave. Duration
- 4h 47m
- When
- Tuesday and Wednesday
- Estimated price
- $130–700
Flights from Lambert–St. Louis International Airport to Will Rogers World Airport via Dallas
- Ave. Duration
- 5h 12m
- When
- Tuesday, Wednesday, Sunday, and Saturday
- Estimated price
- $110–650
Flights from Lambert–St. Louis International Airport to Will Rogers World Airport via Houston Hobby Apt
- Ave. Duration
- 5h 33m
- When
- Monday, Thursday, Friday, Sunday, Tuesday, and Wednesday
- Estimated price
- $150–750
Flights from Lambert–St. Louis International Airport to Will Rogers World Airport via Austin
- Ave. Duration
- 6h
- When
- Monday to Friday
- Estimated price
- $150–750
Flights from Lambert–St. Louis International Airport to Tulsa International Airport via Dallas
- Ave. Duration
- 5h
- When
- Every day
- Estimated price
- $150–850
Flights from Lambert–St. Louis International Airport to Tulsa International Airport via Chicago Midway
- Ave. Duration
- 5h 1m
- When
- Tuesday to Saturday
- Estimated price
- $160–900
Flights from Lambert–St. Louis International Airport to Tulsa International Airport via Houston Hobby Apt
- Ave. Duration
- 4h 35m
- When
- Sunday
- Estimated price
- $200–1,000
Flights from Lambert–St. Louis International Airport to Tulsa International Airport via Nashville
- Ave. Duration
- 5h 30m
- When
- Tuesday, Wednesday, and Sunday
- Estimated price
- $150–850
Rome2Rio's guide to Amtrak
Contact DetailsContact Details
- Phone
- +1 800-872-7245
- Website
- Amtrak
Train from St. Louis to Fort Worth
- Ave. Duration
- 17h 35m
- Frequency
- Once daily
- Estimated price
- $180–440
- Website
- Amtrak
Train from Fort Worth to Oklahoma City
- Ave. Duration
- 4h 2m
- Frequency
- Once daily
- Estimated price
- $50–130
- Website
- Amtrak
Rome2Rio's guide to Greyhound USA
Contact DetailsContact Details
- Phone
- +1 214-849-8100
- [email protected]
- Website
- Greyhound
Bus from St Louis Bus Station to Oklahoma City Bus Station
- Ave. Duration
- 9h 40m
- Frequency
- Twice daily
- Estimated price
- $80–130
- Website
- Greyhound
Want to know more about travelling around United States
Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.
Related travel guides
Travelling to the US: What do I need to know?
Read the travel guide
Need to know: Greyhound
Read the travel guide
Why you should take the train in the US
Read the travel guide
Booking & Getting There
St. Louis to Oklahoma bus services, operated by Greyhound USA, arrive at Oklahoma City Bus Station.
St. Louis to Oklahoma train services, operated by Amtrak, arrive at Fort Worth station.
Yes, the driving distance between St. Louis to Oklahoma is 500 miles. It takes approximately 7h 59m to drive from St. Louis to Oklahoma.
Book your St. Louis to Oklahoma train tickets online with Omio.
There are 481+ hotels available in Oklahoma.








