Lake Titicaca is one of the highlights on any Peru trip. There are four main ways you can get from Cusco to Puno and Lake Titicaca.
By Air:
The closest airport to Puno is the Inca Manco Cápac airport in the city of Juliaca which is 44km and approximately 1 hour by road from Puno. There are direct flights to Juliaca from both Lima and Cusco. There are currently no direct international flights to Puno. Most travellers usually incorporate a visit to Puno as part of their Peru travel itinerary between visits to/from Cusco and Arequipa or at the end of their trip before flying back to Lima to head home.
Currently airlines Avianca and LATAM operate direct flights from Lima and Cusco to Puno. International carriers like KLM, American Airlines, LATAM and others have code share agreements so you can book and fly from your home city to Puno on the same ticket.
Flight time Lima – Juliaca: 1h 40minutes.
Flight time Cusco – Juliaca: 1 hour.
By Train:
PeruRail operates the elegant Pullman style PeruRail Titicaca train service that runs between Cusco and Puno six days a week. This 10.5 hour luxury train journey is a fabulous way to traverse the Andean highlands in style.
Journey time:
10h 30 minutes
Ticket price:
From US$404 return and includes a gourmet lunch, afternoon tea and on-board entertainment.
Route:
Cusco – Puno and Puno – Cusco
Days:
This train operates every day except Tuesdays.
Read our full review of the Peru Rail Titicaca experience here.
The luxury Belmond Andean Explorer also operates on the route from Cusco – Puno – Cusco with their Spirit of the Water and Spirit of the Andes Journeys that start from US$795 per person. This is definitely a once in a lifetime experience as you overnight on this exquisite Pullman train. Read more here.
By Bus:
Most travellers travel to Puno by bus and with good reason as the roads are good and the views spectacular! There are several good quality bus companies that operate the 7.5 hour bus ride to and from Cusco and the 6.5 hour trip to and from Arequipa.

We recommend you pay a bit extra and travel with one of the better bus companies that are generally a) safer with better quality drivers and more security and b) more comfortable. Our favourite buses to travel to Puno with are:
Cruz del Sur
One of the most highly regarded bus companies in Peru. They offer economy and first class service on their comfortable double-decker buses from Cusco and Arequipa to and from Puno.
Turismo Mer
A new company with brand new double-decker buses, good drivers and an economy and first class service.
Both of these companies also offer a day long bus route from Cusco to and from Puno where you stop off and visit some of the scenic sights along the way including La Raya, the highest point on the journey at 4335 metres, the Wiracocha temple at Raqchi and the town of Pukara famous for their ceramic bulls.
Approximate fare prices:
Cusco to/from Puno from US$17.
Day long tourist bus Cusco to/from Puno from US$45.
Arequipa to/from Puno from US$20.
By Car:
If you’re feeling adventurous you can opt to hire a car and drive the seven hours from Cusco to Puno or the 5 hours from Arequipa to Puno. The drive from Lima takes about 22 hours and unless you have a) buckets of time and b) want to brave the winding roads and ravines of the Andes we don’t recommend.
It’s also probably worth mentioning that driving standards are much lower in Peru than in The U.S or Europe so be prepared to see some crazy overtaking on bends, speeding etc.! Book car hire in Peru here.