The journey from Lima to Aguas Calientes is one many people will want to take: after Lima and Cusco, Aguas Calientes is one of the most visited places in Peru because it is the nearest town to Machu Picchu. People almost always make this journey via Cusco rather than going direct.
By air, it is essential to go via Cusco. Although the quickest road there does not go through Cusco, and while it would also be possible to pick up the train from Ollantaytambo to Aguas Calientes without going through Cusco, Cusco is a very attractive destination in its own right. See here for how to best spend 24 hours in Cusco.
Make transfers between transport hubs in Cusco by taxi.
By Plane and Train
Duration: 6 hours
By far the easiest option for the first leg of the journey from Lima to Cusco is to fly, with direct flying time 80-90 minutes (as opposed to the 22+ hours that the journey would take by road). Most of Peru's domestic airlines and several international carriers fly the Lima-Cusco route, which is Peru's most popular. Latam offers the greatest choice of flights, whilst other airlines flying include Avianca, Sky Airline Perú and Peruvian.
Direct flights are about hourly between 5 am and 7 pm. Remember that many international flights arrive into Lima in the evening, and that there may not be time to transfer to a flight to Cusco on the day you arrive.
For the second leg, by train from Cusco to Aguas Calientes, the operators are PeruRail's Hiram Bingham (the most luxurious), Vistadome and Expedition trains and Inca Rail, and total several daily direct departures from Poroy train station near Cusco, a 30-minute taxi ride from central Cusco.
The most convenient option is to travel from Cusco by train direct (although there is also the option of taking a bus from Cusco to Ollantaytambo and getting the train from there) and convenience also means this train journey, and therefore this option for travel between Lima and Aguas Calientes, is the most expensive means of travel. Direct train services operate between May and December: at other times of the year transport will be by bus to Ollantaytambo anyway, and train to Aguas Calientes from there.
By Plane, Bus, and Train or Inca Trail
Duration: 5.5 hours-4 days
Overall, this can be the quickest way to get from Lima to Aguas Calientes (by plane, bus and train) or one of the slowest if you opt to do the last section as an Inca Trail trek.
For the first leg of this journey, by plane from Lima to Cusco, the journey is as per the previous option. From here, the bus can only be taken part of the way, because Aguas Calientes is not connected by road to other locales in the Sacred Valley. Bus is most commonly taken to Ollantaytambo, followed by either train to Aguas Calientes or by hiking the Inca Trail from Km 82.
For more on taking the bus from Cusco to Ollantaytambo, see this article for detail. After this two to three hour trip, for the final leg of the journey you will need to add on either the two hours that the train takes or the 4.5 days that the Inca Trail takes. For travel by train from Ollantaytambo to Aguas Calientes, see this article. For travel from Ollantaytambo and Km 82 on the Inca Trail to Machu Picchu, see this description of the classic Inca Trail.
By Bus or Private Transfer and Train or Inca Trail
Duration: 1-5 days
Traveling overland, you realize just what an immense country Peru is—with the bad roads making it seem bigger still. Few tourists, whether going by bus or by private transfer, do the journey in one hit. Whether you stop off in Pisco or Nazca or both, allow two nights in each to factor in side-trips to the main sights.
Practically, you will need to change buses in Cusco on the way. There are two key routes. Going via Nazca is a very popular way of doing the Lima-Cusco journey overland, although it is most common to break the journey in Pisco, Nazca, or both along the way. It is often referred to as the 'Gringo Route' because of its popularity with backpackers.
Going via the Central Highlands is another possibility for bus travel between Lima and Cusco. This might be the least popular way of doing the journey, because it goes through the traditional heartland of the Peruvian Andes and creature comforts are a bit more scant, but it will give you insights into Peruvian life not possible on the main tourist routes.
Coming this way, the first stage of the journey is to Huancayo (six/eight hours by private transfer/bus). The second stage is to Ayacucho (six/eight hours by private transfer/bus). The third stage is to Andahuaylas (five hours) where you normally change for the final stage to Cusco (seven/nine hours by private transfer/bus). Huancayo, Ayacucho, and Andahuaylas are the main overnight stops.
In Cusco, change buses and travel to Ollantaytambo as per the previous option. Remember that there are two key routes to Ollantaytambo from here. Arriving in Ollantaytambo and coming the quickest way by bus via Nazca and then from Cusco via Chinchero you could do the journey in as little as 22-23 hours. Coming via the Central Highlands, it could take as long as 33.
For the final part of this journey, in Ollantaytambo switch to either train or the Inca Trail, as per option one.