There are 4 ways to get from Diyatalawa to Kandy by bus, train, car, or taxi
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 Welimada to Kandybus
4h 9mRs 2,661–3,581Train
cheapest- Take the train from Diyatalawa to Kandytrain Badulla / ...
5h 31mRs 1,200–3,000Drive 116.4 km
- Drive from Diyatalawa to Kandycar 116.4 km
2h 9mRs 5,236–7,563Taxi
- Take the taxi from Diyatalawa to Kandytaxi 116.4 km
2h 9mRs 14,000–18,000
Diyatalawa to Kandy by train
Comparing Your Travel Options
The cheapest way to get from Diyatalawa to Kandy is to train which costs Rs. 1200 - Rs. 3000 and takes 5h 31m.
The fastest way to get from Diyatalawa to Kandy is to drive which takes 2h 9m and costs Rs. 5000 - Rs. 8000.
No, there is no direct bus from Diyatalawa to Kandy. However, there are services departing from Welimada and arriving at Kandy via . The journey, including transfers, takes approximately 4h 9m.
Yes, there is a direct train departing from Diyatalawa and arriving at Kandy. Services depart three times a day, and operate every day. The journey takes approximately 5h 31m.
The distance between Diyatalawa and Kandy is 118 km. The road distance is 116.4 km.
The best way to get from Diyatalawa to Kandy without a car is to bus which takes 4h 9m and costs Rs. 2600 - Rs. 3600.
It takes approximately 4h 9m to get from Diyatalawa to Kandy, including transfers.
Diyatalawa to Kandy bus services, operated by National Transport Commission, depart from Welimada station.
Diyatalawa to Kandy train services, operated by Sri Lanka Railways, depart from Diyatalawa station.
The best way to get from Diyatalawa to Kandy is to bus which takes 4h 9m and costs Rs. 2600 - Rs. 3600. Alternatively, you can train, which costs Rs. 1200 - Rs. 3000 and takes 5h 31m.
What companies run services between Diyatalawa, Uva, Sri Lanka and Kandy, Sri Lanka?
National Transport Commission operates a bus from Welimada to Kandy twice daily. Tickets cost Rs 350–840 and the journey takes 3h 45m. Alternatively, Sri Lanka Railways operates a train from Diyatalawa to Kandy 3 times a day. Tickets cost Rs 1,200–3,000 and the journey takes 5h 31m.
- Phone
- +94 114 600 111
- Website
- Sri Lanka Railways
Train from Diyatalawa to Kandy
- Ave. Duration
- 5h 31m
- Frequency
- 3 times a day
- Estimated price
- Rs 1,200–3,000
- Website
- Sri Lanka Railways
- 2nd Class Fare
- Rs 1,300–1,900
- 3rd Class Fare
- Rs 1,200–1,600
- Air Conditioned Saloon
- Rs 2,300–3,000
- Phone
- +94 011-2587372
- [email protected]
- Website
- National Transport Commission
Bus from Welimada to Kandy
- Ave. Duration
- 3h 45m
- Frequency
- Twice daily
- Estimated price
- Rs 350–840
- Website
- National Transport Commission
- Schedules at
- NTC Schedules
- Standard
- Rs 350–390
- Semi Lux
- Rs 410–600
- Super Lux
- Rs 750–1,000
- Seater
- Rs 810–840
- Ave. Duration
- 2h 9m
- Estimated price
- Rs 14,000–18,000
Ceylon Ella Taxi
- Phone
- +94761 300 309
- Website
- ceylonellataxi.lk
Ella Budget Taxi
- Phone
- +94 77 078 9383
- Website
- ellabudgettaxi.com
Pickme
- Phone
- +94117433433
- Website
- pickme.lk
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 4 of the smartest ways to explore Australia, Need to know: Greyhound, and Why you should take the train in the US - to help you get the most out of your next trip.
Booking & Getting There
Diyatalawa to Kandy bus services, operated by National Transport Commission, arrive at Kandy station.
Diyatalawa to Kandy train services, operated by Sri Lanka Railways, arrive at Kandy station.
Yes, the driving distance between Diyatalawa to Kandy is 116 km. It takes approximately 2h 9m to drive from Diyatalawa to Kandy.
There are 1523+ hotels available in Kandy.









