There are 6 ways to get from Cusco to Puno by bus, train, car, plane, or shuttle
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Bus
best- Take the bus from Cusco Bus Station to Punobus Puno / ...
4h 27m$35–950Shuttle
cheapest- Take a shuttle bus from Cusco to PunoPrivate
4h 30m$34Train
- Take the train from Cusco - Wanchaq to Punotrain Cusco
10h 30m$330–6,000Drive 390 km
- Drive from Cusco to Punocar 390 km
6h 26m$59–85Fly to Inca Manco Cápac International Airport
- Fly from Alejandro Velasco Astete International Airport (CUZ) to Inca Manco Cápac International Airport (JUL)plane CUZ - JUL
5h 15m$176–382Fly to Rodríguez Ballón International Airport, bus
- Fly from Alejandro Velasco Astete International Airport (CUZ) to Rodríguez Ballón International Airport (AQP)plane CUZ - AQP
- Take the bus from Arequipa to Punobus
7h 33m$55–205
Cusco to Puno by bus
Comparing Your Travel Options
The cheapest way to get from Cusco to Puno is to shuttle which costs $34 and takes 4h 30m.
The fastest way to get from Cusco to Puno is to bus which takes 4h 27m and costs $35 - $950.
Yes, there is a direct bus departing from Cusco Bus Station station and arriving at Puno. Services depart three times a day, and operate every day. The journey takes approximately 4h 27m.
Yes, there is a direct train departing from Cusco - Wanchaq and arriving at Puno. Services depart four times a week, and operate Tuesday, Wednesday and Friday. The journey takes approximately 10h 30m.
The distance between Cusco and Puno is 389 km. The road distance is 390 km.
The best way to get from Cusco to Puno without a car is to bus which takes 4h 27m and costs $35 - $950.
The bus from Cusco Bus Station to Puno takes 4h 27m including transfers and departs three times a day.
Cusco to Puno bus services, operated by Turismo Zolorzano, depart from Cusco Bus Station.
Cusco to Puno train services, operated by PeruRail, depart from Cusco - Wanchaq station.
The best way to get from Cusco to Puno is to bus which takes 4h 27m and costs $35 - $950. Alternatively, you can train, which costs $330 - $6,000 and takes 10h 30m, you could also fly, which costs $170 - $390 and takes 5h 15m.
What companies run services between Cusco, Peru and Puno, Peru?
Turismo Zolorzano operates a bus from Cusco Bus Station to Puno hourly. Tickets cost $24–28 and the journey takes 4h 27m. Five other operators also service this route. Alternatively, PeruRail operates a train from Cusco - Wanchaq to Puno 4 times a week. Tickets cost $330–6,000 and the journey takes 10h 30m.
- Website
- latam.com
Flights from Alejandro Velasco Astete International Airport to Inca Manco Cápac International Airport via Lima
- Ave. Duration
- 4h 53m
- When
- Every day
- Estimated price
- $150–330
Flights from Alejandro Velasco Astete International Airport to Inca Manco Cápac International Airport via Rodríguez Ballón International Airport, Lima
- Ave. Duration
- 6h 45m
- When
- Every day
- Estimated price
- $150–330
Flights from Alejandro Velasco Astete International Airport to Rodríguez Ballón International Airport
- Ave. Duration
- 1h 6m
- When
- Every day
- Estimated price
- $60–190
- Phone
- +51 1625 4848
- reservas@perurail.com
- Website
- PeruRail
Train from Cusco - Wanchaq to Puno
- Ave. Duration
- 10h 30m
- Frequency
- 4 times a week
- Estimated price
- $330–6,000
- Website
- PeruRail
- Phone
- +51 989 990 918
- contacto@zolorzano.com.pe
- Website
- facebook.com
Bus from Cusco Bus Station to Puno
- Ave. Duration
- 4h 27m
- Frequency
- Hourly
- Estimated price
- $24–28
- Schedules at
- facebook.com
- Book at
- zolorzano.com.pe
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 Getting around the Cyclades, Train travel in Spain: A guide to Renfe, and How to get from Florence to Rome - to help you get the most out of your next trip.
Booking & Getting There
Cusco to Puno bus services, operated by Turismo Zolorzano, arrive at Puno station.
Cusco to Puno train services, operated by PeruRail, arrive at Puno station.
Yes, the driving distance between Cusco to Puno is 390 km. It takes approximately 6h 26m to drive from Cusco to Puno.
Book your Cusco to Puno train tickets online with 12go.asia.
Book your Cusco to Puno bus tickets online with 12go.asia.
There are 299+ hotels available in Puno.






