There are 4 ways to get from St. Louis to Machu Picchu by plane, train, or bus
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Fly from Lambert–St. Louis International Airport, Train + Bus
best- Fly from Lambert–St. Louis International Airport (STL) to Alejandro Velasco Astete International Airport (CUZ)plane STL - CUZ
- Take the train from Cusco - Wanchaq to Machu Picchu Pueblotrain
20h 16m$388–2,818Fly from Midamerica St. Louis Airport, Train + Bus
cheapest- Fly from Midamerica St. Louis Airport (BLV) to Alejandro Velasco Astete International Airport (CUZ)plane BLV - CUZ
- Take the train from Cusco - Wanchaq to Machu Picchu Pueblotrain
40h 27m$350–2,596Bus to Evansville, fly, Train + Bus
- Take the bus from St Louis Bus Station to Evansville Bus Stationbus
- Fly from Evansville (EVV) to Alejandro Velasco Astete International Airport (CUZ)plane EVV - CUZ
- Take the train from Cusco - Wanchaq to Machu Picchu Pueblotrain
26h 50m$361–2,587Train to Central Illinois Regional Airport At Bloomington-Normal, fly, Train + Bus
- Take the train from St. Louis to Bloomington-Normaltrain
- Fly from Central Illinois Regional Airport At Bloomington-Normal (BMI) to Alejandro Velasco Astete International Airport (CUZ)plane BMI - CUZ
- Take the train from Cusco - Wanchaq to Machu Picchu Pueblotrain
25h 1m$375–2,668
Lambert–St. Louis International Airport (STL) to Alejandro Velasco Astete International Airport (CUZ) flights
Comparing Your Travel Options
The cheapest way to get from St. Louis to Machu Picchu is to fly and Train + Bus which costs $350 - $2,600 and takes 40h 27m.
The fastest way to get from St. Louis to Machu Picchu is to fly and Train + Bus which takes 20h 16m and costs $380 - $2,900.
The distance between St. Louis and Machu Picchu is 6259 km.
It takes approximately 20h 16m to get from St. Louis to Machu Picchu, including transfers.
There are 168+ hotels available in Machu Picchu.
What companies run services between St. Louis, MO, USA and Machu Picchu, Peru?
There is no direct connection from St. Louis to Machu Picchu. However, you can take the train to LAMBERT AIRPORT TERMINAL #1 station, walk to Lambert–St. Louis International Airport (STL) airport, fly to Alejandro Velasco Astete International Airport (CUZ), walk to Cusco Airport, take the bus to Avenida Pardo, walk to Cusco - Wanchaq, take the train to Machu Picchu Pueblo, walk to Aguas Calientes, then take the bus to Machu Picchu. Alternatively, you can take the bus to Evansville Bus Station, take the taxi to Evansville (EVV) airport, fly to Alejandro Velasco Astete International Airport (CUZ), walk to Cusco Airport, take the bus to Avenida Pardo, walk to Cusco - Wanchaq, take the train to Machu Picchu Pueblo, walk to Aguas Calientes, then take the bus to Machu Picchu.
- Website
- latam.com
Flights from Lambert–St. Louis International Airport to Alejandro Velasco Astete International Airport via Atlanta, Lima
- Ave. Duration
- 13h 42m
- When
- Every day
- Estimated price
- $310–1,300
Flights from Lambert–St. Louis International Airport to Alejandro Velasco Astete International Airport via Miami, Lima
- Ave. Duration
- 13h 47m
- When
- Monday, Thursday, and Saturday
- Estimated price
- $440–1,300
Flights from Lambert–St. Louis International Airport to Alejandro Velasco Astete International Airport via Cancun, Lima
- Ave. Duration
- 15h 55m
- When
- Monday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- $430–1,300
Flights from Evansville to Alejandro Velasco Astete International Airport via Atlanta, Lima
- Ave. Duration
- 15h 30m
- When
- Every day
- Estimated price
- $240–1,000
Flights from Midamerica St. Louis Airport to Alejandro Velasco Astete International Airport via Fort Lauderdale, Guayaquil, Lima
- Ave. Duration
- 31h 17m
- When
- Monday
- Estimated price
- $250–950
- Website
- delta.com
Flights from Lambert–St. Louis International Airport to Alejandro Velasco Astete International Airport via Atlanta, Lima
- Ave. Duration
- 15h 37m
- When
- Every day
- Estimated price
- $310–1,300
Flights from Lambert–St. Louis International Airport to Alejandro Velasco Astete International Airport via Miami, Lima
- Ave. Duration
- 12h 30m
- When
- Monday and Thursday
- Estimated price
- $440–1,300
Flights from Evansville to Alejandro Velasco Astete International Airport via Atlanta, Lima
- Ave. Duration
- 14h 56m
- When
- Every day
- Estimated price
- $240–900
Flights from Midamerica St. Louis Airport to Alejandro Velasco Astete International Airport via Fort Lauderdale, Guayaquil, Lima
- Ave. Duration
- 31h 17m
- When
- Monday
- Estimated price
- $250–950
Flights from Central Illinois Regional Airport At Bloomington-Normal to Alejandro Velasco Astete International Airport via Atlanta, Lima
- Ave. Duration
- 14h 26m
- When
- Every day
- Estimated price
- $250–1,100
- Website
- aa.com
Flights from Lambert–St. Louis International Airport to Alejandro Velasco Astete International Airport via Miami, Lima
- Ave. Duration
- 15h 10m
- When
- Monday, Saturday, and Sunday
- Estimated price
- $310–1,200
Flights from Midamerica St. Louis Airport to Alejandro Velasco Astete International Airport via Valparaiso, Miami, Lima
- Ave. Duration
- 38h 14m
- When
- Sunday and Wednesday
- Estimated price
- $250–950
Flights from Midamerica St. Louis Airport to Alejandro Velasco Astete International Airport via Sarasota/Bradenton, Miami, Lima
- Ave. Duration
- 45h 33m
- When
- Sunday
- Estimated price
- $250–950
- Website
- avianca.com
Flights from Evansville to Alejandro Velasco Astete International Airport via Chicago O'Hare, Bogota
- Ave. Duration
- 17h 15m
- When
- Every day
- Estimated price
- $390–1,200
Flights from Evansville to Alejandro Velasco Astete International Airport via Orlando, Bogota
- Ave. Duration
- 18h 51m
- When
- Saturday
- Estimated price
- $360–1,200
Flights from Midamerica St. Louis Airport to Alejandro Velasco Astete International Airport via Fort Lauderdale, Bogota
- Ave. Duration
- 41h 37m
- When
- Monday
- Estimated price
- $360–1,200
- Phone
- +51 1625 4848
- reservas@perurail.com
- Website
- PeruRail
Train from Cusco - Wanchaq to Machu Picchu Pueblo
- Ave. Duration
- 4h 12m
- Frequency
- Every 4 hours
- Estimated price
- $60–1,600
- Website
- PeruRail
Train from Cusco - Wanchaq to Machu Picchu Pueblo
- Ave. Duration
- 4h 12m
- Frequency
- Every 4 hours
- Estimated price
- $60–1,600
- Website
- PeruRail
Train from Cusco - Wanchaq to Machu Picchu Pueblo
- Ave. Duration
- 4h 12m
- Frequency
- Every 4 hours
- Estimated price
- $60–1,600
- Website
- PeruRail
Train from Cusco - Wanchaq to Machu Picchu Pueblo
- Ave. Duration
- 4h 12m
- Frequency
- Every 4 hours
- Estimated price
- $60–1,600
- Website
- PeruRail
Rome2Rio's guide to Amtrak
Contact DetailsContact Details
- Phone
- +1 800-872-7245
- Website
- Amtrak
Train from St. Louis to Bloomington-Normal
- Ave. Duration
- 2h 33m
- Frequency
- 5 times a day
- Estimated price
- $45–110
- Website
- Amtrak
Rome2Rio's guide to Greyhound USA
Contact DetailsContact Details
- Phone
- +1 214-849-8100
- ifsr@greyhound.com
- Website
- Greyhound
Bus from St Louis Bus Station to Evansville Bus Station
- Ave. Duration
- 3h 25m
- Frequency
- Twice daily
- Estimated price
- $24–50
- Website
- Greyhound
Want to know more about travelling around Peru
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












