There are 4 ways to get from Mexico to Machu Picchu by plane or train
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 Benito Juárez International Airport, Train + Bus
best- Fly from Benito Juárez International Airport (MEX) to Alejandro Velasco Astete International Airport (CUZ)plane MEX - CUZ
- Take the train from Cusco - Wanchaq to Machu Picchu Pueblotrain
16h 35m$375–2,167Fly from Del Bajío International Airport, Train + Bus
cheapest- Fly from Del Bajío International Airport (BJX) to Alejandro Velasco Astete International Airport (CUZ)plane BJX - CUZ
- Take the train from Cusco - Wanchaq to Machu Picchu Pueblotrain
20h 43m$297–2,469Fly from Felipe Ángeles International Airport, Train + Bus
- Fly from Felipe Ángeles International Airport (NLU) to Alejandro Velasco Astete International Airport (CUZ)plane NLU - CUZ
- Take the train from Cusco - Wanchaq to Machu Picchu Pueblotrain
19h 26m$298–2,221Fly from Querétaro Intercontinental Airport, Train + Bus
- Fly from Querétaro Intercontinental Airport (QRO) to Alejandro Velasco Astete International Airport (CUZ)plane QRO - CUZ
- Take the train from Cusco - Wanchaq to Machu Picchu Pueblotrain
22h 40m$298–2,473
Benito Juárez International Airport (MEX) to Alejandro Velasco Astete International Airport (CUZ) flights
Questions & Answers
The cheapest way to get from Mexico to Machu Picchu is to fly and Train + Bus which costs $290 - $2,300 and takes 19h 26m.
The fastest way to get from Mexico to Machu Picchu is to fly and Train + Bus which takes 16h 35m and costs $370 - $2,200.
The distance between Mexico and Machu Picchu is 4840 km.
It takes approximately 16h 35m to get from Mexico to Machu Picchu, including transfers.
There are 165+ hotels available in Machu Picchu.
What companies run services between Mexico and Machu Picchu, Peru?
There is no direct connection from Mexico to Machu Picchu. However, you can take the line 4 bus to Terminal 1 - Aeropuerto, walk to Benito Juárez International Airport (MEX) 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 Bajío International Airport, walk to Del Bajío International Airport (BJX) 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 Benito Juárez International Airport to Alejandro Velasco Astete International Airport via Lima
- Ave. Duration
- 8h 50m
- When
- Every day
- Estimated price
- $260–850
Flights from Del Bajío International Airport to Alejandro Velasco Astete International Airport via Benito Juárez International Airport, Lima
- Ave. Duration
- 11h 54m
- When
- Every day
- Estimated price
- $310–950
Flights from Del Bajío International Airport to Alejandro Velasco Astete International Airport via Cancun, Lima
- Ave. Duration
- 13h 25m
- When
- Every day
- Estimated price
- $340–1,100
Flights from Del Bajío International Airport to Alejandro Velasco Astete International Airport via Houston, Lima
- Ave. Duration
- 17h 23m
- When
- Every day
- Estimated price
- $280–1,100
Flights from Felipe Ángeles International Airport to Alejandro Velasco Astete International Airport via Cancun, Lima
- Ave. Duration
- 13h 35m
- When
- Every day
- Estimated price
- $260–800
Flights from Querétaro Intercontinental Airport to Alejandro Velasco Astete International Airport via Benito Juárez International Airport, Lima
- Ave. Duration
- 15h 2m
- When
- Every day
- Estimated price
- $310–1,000
Flights from Querétaro Intercontinental Airport to Alejandro Velasco Astete International Airport via Cancun, Lima
- Ave. Duration
- 14h 46m
- When
- Every day
- Estimated price
- $340–1,100
- Website
- avianca.com
Flights from Benito Juárez International Airport to Alejandro Velasco Astete International Airport via Bogota
- Ave. Duration
- 9h 50m
- When
- Every day
- Estimated price
- $200–750
Flights from Felipe Ángeles International Airport to Alejandro Velasco Astete International Airport via Bogota
- Ave. Duration
- 12h 23m
- When
- Every day
- Estimated price
- $220–800
Flights from Querétaro Intercontinental Airport to Alejandro Velasco Astete International Airport via Benito Juárez International Airport, Bogota
- Ave. Duration
- 15h 18m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- $230–900
- Website
- aeromexico.com
Flights from Benito Juárez International Airport to Alejandro Velasco Astete International Airport via Lima
- Ave. Duration
- 9h 5m
- When
- Every day
- Estimated price
- $180–700
Flights from Del Bajío International Airport to Alejandro Velasco Astete International Airport via Benito Juárez International Airport, Lima
- Ave. Duration
- 11h 48m
- When
- Every day
- Estimated price
- $220–850
Flights from Querétaro Intercontinental Airport to Alejandro Velasco Astete International Airport via Benito Juárez International Airport, Lima
- Ave. Duration
- 13h 45m
- When
- Every day
- Estimated price
- $220–850
- Website
- jetsmart.com
Flights from Benito Juárez International Airport to Alejandro Velasco Astete International Airport via Lima
- Ave. Duration
- 8h 20m
- When
- Monday and Thursday
- Estimated price
- $240–700
- Website
- skyairline.com
Flights from Querétaro Intercontinental Airport to Alejandro Velasco Astete International Airport via Houston, Lima
- Ave. Duration
- 17h 30m
- When
- Every day
- Estimated price
- $290–1,100
- Phone
- +51 1625 4848
- [email protected]
- 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
Want to know more about travelling around the world?
Rome2Rio's Travel Guide series provide vital information for the global traveller. Read our range of informative guides on popular transport routes and companies - including How to get from London City Airport into central London, Need to know: Greyhound, and Best ways to travel around Australia - to help you get the most out of your next trip.




