The journey from Peru's capital Lima to the fabled Lake Titicaca, South America's largest lake, can be done via plane, bus and even train. Puno is the main city on Lake Titicaca, and long-distance transport always runs to this transport hub, from where boats to the islands and buses or private transfers to places along the Lake Titicaca shoreline.
When planning your trip around Lake Titicaca, bear in mind that travel options from Puno to lake destinations almost always depart in the morning, and transport from Lima will likely arrive afternoon or evening in Puno. Therefore you will need to spend the night in Puno upon arrival before continuing your journey.
See here for more on how to get from Lima and Puno to the culturally interesting Amantani Island on Lake Titicaca.
It is worth bearing in mind that there are two key routes of interest to travelers between Lima and the lake - one direct and one going via Cusco, gateway to the Sacred Valley.
By Plane to Juliaca and Private Transfer
Duration: 3 hours
This is certainly the quickest means of travel between Lima and Lake Titicaca.
First, travelers need to take one of four daily flights from Lima's Jorge Chávez Airport to Juliaca, the major city in the Titicaca region and the closest airport to Puno. The carriers are currently LATAM and Viva Air. The only one of these flights currently operating afternoon is LATAM's early evening departure. Flight time is around 1.75 hours.
Traveling this way, from Lima at sea level to Inca Manco Cápac Airport in Juliaca, which is at a high elevation, be mindful of the possibility of altitude sickness.
At the airport, taxis and colectivos transfer you to Puno on the shores of Lake Titicaca direct without going into central Juliaca: travel time is one hour.
By Bus
Duration: 19-21 hours
Buses from Lima to Lake Titicaca (Puno_ normally take the route via Arequipa, which runs most of the way on one of Peru's best roads, the Hwy Pan-Americana Sur. The length of this journey (half-way across Peru!) means travel time can vary: it can be as quick as 19 hours or as long as 21 hours depending on the road conditions and the stops the driver makes.
This is a fairly grueling trip because of the number of hours it takes, but has the advantages of being both the cheapest means of travel between Lima and Lake Titicaca and also the means of travel with the most flexibility, because buses depart from Lima around the clock.
The main bus station in Puno, Terminal Terrestre, is one mile (1.5km) southeast of central Puno, on the lake shore (and therefore one of Peru's most picturesquely set bus stations).
By Bus via Cusco
Duration: 30-37 hours
You would only really want to take this option if you were going to stop off in Cusco en route, which is what the majority of travelers do end up doing. Buses from Lima to Cusco can take as little as 21 hours but more commonly take 24-30. It is then about six to seven hours from Cusco to Puno.
Because of the length of this journey (traveling 30 hours by bus in Peru leaves you tired!) passengers would almost certainly need to break the journey and stay overnight in Cusco. Time spent in Cusco is not included in the journey time given above.
Most buses arriving in Cusco from Lima and departing Cusco for Puno use the Terminal Terrestre. Coming this way, however, one of the best bus options for the second leg of the journey from Cusco to Puno is the Inka Express service (taking slightly longer than regular buses), which includes lunch and a tour guide explaining points of interest along the way. It helps make the journey pass more pleasurably. Hwy 3S runs southeast all the way from Cusco via Juliaca to Puno and this is the route taken.
By Bus to Cusco and Train
Duration: 34 hours - 2.5 days
On this interesting option you can travel on one of Peru's last great train routes. Buses from Lima to Cusco commonly take 24-30 hours. Because of the length of this journey (traveling 30 hours by bus in Peru leaves you feeling tired!) and the train departure in the morning the next day, passengers need to stay overnight in Cusco. Time spent in Cusco is not included in the journey time given above.
One of the best train journeys in Peru—and all of South America—then runs from Cusco to Puno via Juliaca. The train run by Peru Rail departs Cusco's Huanchac train station: The Titicaca train departs on Wednesday, Friday, and Sunday mornings and makes the journey in ten hours; the Andean Explorer train (more luxurious) departs once weekly on Tuesdays but takes until the following day to arrive.
Either way, the journey over the Andes is stark and stunning, but prices are high. In Puno, the train station is quite close to the Plaza de Armas in the center and therefore to accommodation options.
By Plane to Cusco and Bus
Duration: 7.5-9 hours
This option is as per the following option for the first leg of the journey by plane from Lima to Cusco, and as per option three listed here for travel by bus from Cusco to Puno. It saves traveling the entire route by bus, which would be a very long journey, and because of the stop at Cusco is quite a popular option. However, the journey time above does not include time spent in Cusco along the way.
By Plane to Cusco and Train
Duration: 11.5 hours - 2 days
Direct flying time from Lima's Jorge Chávez Airport to Cusco's Alejandro Velasco Astete International Airport is 80-90 minutes. Most of Peru's domestic airlines and several international carriers ply this route, which is the most popular journey in the country. LATAM offers the greatest choice of flights, while other airlines flying include Avianca, Sky Airline Perú, and Peruvian. Direct flights are about hourly between 5 am and 7 pm. Taking an early flight, it is just possible to connect with the Peru Rail train service to Puno.
The second leg of the journey is by train with Peru Rail, departing from Cusco's Huanchac train station bound for Puno, as per option four listed here. The Andean Explorer Train takes over a day to make its more leisurely and luxury journey from Cusco to Puno. In Puno, the train station is quite close to the Plaza de Armas in the center and to accommodation options.
The train journey makes this travel option a very atmospheric, but also the most expensive way to travel between Lima and Puno.