There are 4 ways to get from Kandy to Ubud by bus, plane, or train
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Bus to Weerawila International Airport, fly
best- Take the bus from Kandy to Thanamalwilabus
- Fly from Weerawila International Airport (WRZ) to Ngurah Rai International Airport (DPS)plane WRZ - DPS
29h 7mRp 3,924,991–11,626,227Train, train to Batticaloa Airport, fly
cheapest- Take the train from Kandy to Polgahawelatrain
- Take the train from Polgahawela to Batticaloatrain
- Fly from Batticaloa Airport (BTC) to Ngurah Rai International Airport (DPS)plane BTC - DPS
18h 34mRp 2,765,973–10,011,358Train, train to Koggala, fly
- Take the train from Kandy to Maradanatrain
- Take the train from Maradana to Habaraduwatrain
- Fly from Koggala (KCT) to Ngurah Rai International Airport (DPS)plane KCT - DPS
27h 53mRp 3,790,493–11,801,435Fly Victoria Resevour Kandy to Bandaranaike International Airport, fly
- Fly from Victoria Resevour Kandy to Colombo Airportplane
- Fly from Bandaranaike International Airport (CMB) to Ngurah Rai International Airport (DPS)plane CMB - DPS
12h 24mRp 6,162,341–10,332,341
Weerawila International Airport (WRZ) to Ngurah Rai International Airport (DPS) flights
Questions & Answers
The cheapest way to get from Kandy to Ubud is to train and fly which costs Rp2700000 - Rp10000000 and takes 18h 34m.
The fastest way to get from Kandy to Ubud is to fly which takes 12h 24m and costs Rp6000000 - Rp11000000.
The distance between Kandy and Ubud is 4368 km.
It takes approximately 29h 7m to get from Kandy to Ubud, including transfers.
Ubud is 2h 30m ahead of Kandy. It is currently 9:44 AM in Kandy and 12:14 PM in Ubud.
There are 7400+ hotels available in Ubud.
What companies run services between Kandy, Sri Lanka and Ubud, Indonesia?
You can take a flight from Victoria Resevour Kandy to Ubud via Bandaranaike International Airport (CMB) and Ngurah-Rai-Airport-DPS in around 12h 24m.
- Website
- singaporeair.com
Flights from Weerawila International Airport to Ngurah Rai International Airport via Bandaranaike International Airport, Singapore Changi
- Ave. Duration
- 20h 47m
- When
- Every day
- Estimated price
- Rp 2,900,000–21,000,000
Flights from Batticaloa Airport to Ngurah Rai International Airport via Bandaranaike International Airport, Singapore Changi
- Ave. Duration
- 15h 5m
- When
- Every day
- Estimated price
- Rp 2,900,000–21,000,000
Flights from Koggala to Ngurah Rai International Airport via Bandaranaike International Airport, Singapore Changi
- Ave. Duration
- 20h 2m
- When
- Every day
- Estimated price
- Rp 2,900,000–21,000,000
Flights from Bandaranaike International Airport to Ngurah Rai International Airport via Singapore Changi
- Ave. Duration
- 8h 47m
- When
- Every day
- Estimated price
- Rp 4,600,000–33,000,000
- Website
- malaysiaairlines.com
Flights from Weerawila International Airport to Ngurah Rai International Airport via Bandaranaike International Airport, Kuala Lumpur
- Ave. Duration
- 20h 50m
- When
- Every day
- Estimated price
- Rp 3,000,000–14,000,000
Flights from Batticaloa Airport to Ngurah Rai International Airport via Bandaranaike International Airport, Kuala Lumpur
- Ave. Duration
- 18h 5m
- When
- Every day
- Estimated price
- Rp 3,000,000–14,000,000
Flights from Koggala to Ngurah Rai International Airport via Bandaranaike International Airport, Kuala Lumpur
- Ave. Duration
- 20h 5m
- When
- Every day
- Estimated price
- Rp 2,900,000–14,000,000
Flights from Bandaranaike International Airport to Ngurah Rai International Airport via Kuala Lumpur
- Ave. Duration
- 8h 55m
- When
- Every day
- Estimated price
- Rp 4,600,000–22,000,000
- Website
- airasia.com
Flights from Weerawila International Airport to Ngurah Rai International Airport via Bandaranaike International Airport, Don Muang
- Ave. Duration
- 20h 15m
- When
- Every day
- Estimated price
- Rp 3,400,000–11,000,000
Flights from Batticaloa Airport to Ngurah Rai International Airport via Bandaranaike International Airport, Don Muang
- Ave. Duration
- 17h 30m
- When
- Every day
- Estimated price
- Rp 3,400,000–11,000,000
Flights from Koggala to Ngurah Rai International Airport via Bandaranaike International Airport, Don Muang
- Ave. Duration
- 19h 30m
- When
- Every day
- Estimated price
- Rp 3,400,000–11,000,000
Flights from Bandaranaike International Airport to Ngurah Rai International Airport via Don Muang
- Ave. Duration
- 9h 45m
- When
- Every day
- Estimated price
- Rp 5,500,000–17,000,000
- Website
- airasia.com
Flights from Batticaloa Airport to Ngurah Rai International Airport via Bandaranaike International Airport, Kuala Lumpur
- Ave. Duration
- 9h 55m
- When
- Every day
- Estimated price
- Rp 2,300,000–9,000,000
Flights from Bandaranaike International Airport to Ngurah Rai International Airport via Kuala Lumpur
- Ave. Duration
- 10h 47m
- When
- Every day
- Estimated price
- Rp 2,800,000–6,500,000
- Website
- lionairthai.com
Flights from Weerawila International Airport to Ngurah Rai International Airport via Bandaranaike International Airport, Don Muang
- Ave. Duration
- 20h 55m
- When
- Every day
- Estimated price
- Rp 3,300,000–12,000,000
Flights from Koggala to Ngurah Rai International Airport via Bandaranaike International Airport, Don Muang
- Ave. Duration
- 20h 10m
- When
- Every day
- Estimated price
- Rp 3,300,000–12,000,000
- Website
- flyscoot.com
Flights from Weerawila International Airport to Ngurah Rai International Airport via Bandaranaike International Airport, Singapore Changi
- Ave. Duration
- 21h 50m
- When
- Every day
- Estimated price
- Rp 2,900,000–13,000,000
Flights from Koggala to Ngurah Rai International Airport via Bandaranaike International Airport, Singapore Changi
- Ave. Duration
- 21h 5m
- When
- Every day
- Estimated price
- Rp 2,900,000–13,000,000
- Website
- goindigo.in
Flights from Bandaranaike International Airport to Ngurah Rai International Airport via Bengaluru
- Ave. Duration
- 10h 55m
- When
- Every day
- Estimated price
- Rp 5,500,000–18,000,000
Flights from Bandaranaike International Airport to Ngurah Rai International Airport via Madras
- Ave. Duration
- 11h 10m
- When
- Every day
- Estimated price
- Rp 5,000,000–18,000,000
- Website
- thaiairways.com
Flights from Bandaranaike International Airport to Ngurah Rai International Airport via Suvarnabhumi
- Ave. Duration
- 11h 30m
- When
- Every day
- Estimated price
- Rp 7,500,000–29,000,000
- Website
- malindoair.com
Flights from Bandaranaike International Airport to Ngurah Rai International Airport via Kuala Lumpur
- Ave. Duration
- 12h 25m
- When
- Monday, Tuesday, Thursday, and Saturday
- Estimated price
- Rp 4,000,000–14,000,000
- Phone
- +94 11 4 600 111
- Website
- seatreservation.railway.gov.lk
Train from Kandy to Polgahawela
- Ave. Duration
- 1h 17m
- Frequency
- 4 times a day
- Estimated price
- Rp 65,000–140,000
- Website
- https://seatreservation.railway.gov.lk/mtktwebslr/
- 2nd Class Fare
- Rp 70,000–100,000
- 3rd Class Fare
- Rp 65,000–80,000
- Air Conditioned Saloon
- Rp 75,000–140,000
Train from Polgahawela to Batticaloa
- Ave. Duration
- 3h 41m
- Frequency
- 3 times a day
- Estimated price
- Rp 70,000–470,000
- Website
- https://seatreservation.railway.gov.lk/mtktwebslr/
- 2nd Class Fare
- Rp 70,000–100,000
- 3rd Class Fare
- Rp 75,000–90,000
- Air Conditioned Saloon
- Rp 150,000–470,000
Train from Kandy to Maradana
- Ave. Duration
- 2h 26m
- Frequency
- Every 3 hours
- Estimated price
- Rp 65,000–210,000
- Website
- https://seatreservation.railway.gov.lk/mtktwebslr/
- 2nd Class Fare
- Rp 70,000–100,000
- 3rd Class Fare
- Rp 65,000–85,000
- Air Conditioned Saloon
- Rp 140,000–210,000
Train from Maradana to Habaraduwa
- Ave. Duration
- 2h 32m
- Frequency
- 4 times a day
- Estimated price
- Rp 12,157–220,000
- Website
- https://seatreservation.railway.gov.lk/mtktwebslr/
- 2nd Class Fare
- Rp 70,000–100,000
- 3rd Class Fare
- Rp 65,000–85,000
- Air Conditioned Saloon
- Rp 140,000–220,000
- 3rd Class
- Rp 91,274
- 2nd Class
- Rp 12,157
- 1st Class
- Rp 109,560
- Phone
- +94 112 581 120
- info@eseat.lk
- Website
- sltb.eseat.lk
Bus from Kandy to Thanamalwila
- Ave. Duration
- 6h 20m
- Frequency
- Once daily
- Estimated price
- Rp 55,000–57,000
- Schedules at
- sltb.eseat.lk
- Seater
- Rp 55,000–57,000
Want to know more about travelling around Indonesia
Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.
Related travel guides
Bali: What to do if Mount Agung erupts
Read the travel guide








