If you think you can fly into Cusco and then easily get to Machu Picchu from there, you’re wrong.

It’ll take some planning and probably multiple types of transportation to get to Aguas Calientes, the small village at the base of Machu Picchu. No matter how you travel, you’ll go through the incredibly beautiful Sacred Valley of Peru.

How to get from Cusco to Machu Picchu

Option 1: Train only

$75-$115 USD, 3.5-4.5 hours (Simplest option, but limited selection)

There is a train straight from Cusco to Aguas Calientes (Machu Picchu), but it’s usually more expensive than the bus/train combo and less flexible, as there are only six trips per day, all leaving Cusco before 9am (the cheap one leaves at 6:40am). And the main train station they depart from is Poroy, which is a 30-minute taxi/uber ride from the city center, so that’s an additional cost. If you’re going to take the train from Cusco, try to book the one from San Pedro station, which is only an 8-minute drive from Cusco.

There’s also a $560 USD train called the “Belmond Hiram Bingham” that departs Poroy at 9:05am. It’s super fancy with live music and cocktails and an open air observatory. If you’ve got money to burn, go for it.

Book your train through PeruRail in advance: https://www.perurail.com/

Option 2: Minibus and train

Bus from Cusco to Ollantaytambo, train to Aguas Calientes (Machu Picchu). $5 USD bus + $65 USD Train (most common option, lots of selection)

Walk 10 minutes south from Plaza de Armas in Cusco to Pavitos street. On Google Maps, look for the “Estacion de colectivos.” It’s a yellow building that says “Real Inka” on it. The colectivos are minibuses and they leave as soon as they’re filled, which can be anywhere from 20-40 minutes between buses. That will take you about 2 hours to get to Ollantaytambo, depending on traffic and when you leave. Buses leave from 2:30am to 7pm and they’ll bring you straight to the train station in Ollantaytambo. (You can also book a private car or minibus through Real Inka for a much higher price.)

We recommend booking your train in advance and then planning backwards for when to get on the bus in Cusco. The bus is always the same price, but the train tickets vary wildly, from $65 USD to $195 USD, depending on time and comfort level. PeruRail also runs promotions a lot, so keep an eye out for good deals. Trains depart Ollantaytambo for Machu Picchu from 5:30am to 10pm.

Real Inka buses: https://realinkacar.com/cusco-ollantaytambo-cusco-en-bus/

PeruRail: https://www.perurail.com/

Option 3: Private bus and train

Private bus from Cusco to Ollantaytambo, train to Aguas Calientes (Machu Picchu). $140 USD (for 14 pax) for the bus + $65 USD train

This is what we did because we had a large group and we needed to stop at a few places to make the trip educational with stops at a textile “factory” and the Maras Salt Mines. You can book a private tour through Real Inka or any number of other tour companies. Watch our full experience here:

YouTube player