There are 4 ways to get from Badulla to Diyatalawa 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 Badulla Main Bus Station to DiyatalawaRoute 99
1h 4mTrain
cheapest- Take the train from Badulla Station to DiyatalawaBadulla
1h 44mRs 1,200–2,600Drive 36.4 km
- Drive from Badulla to Diyatalawa36.4 km
37 minRs 1,532–2,213Taxi
- Take the taxi from Badulla to Diyatalawa36.4 km
37 minRs 4,600–6,000
Badulla to Diyatalawa by train
Questions & Answers
The cheapest way to get from Badulla to Diyatalawa is to train which costs Rs. 1200 - Rs. 2600 and takes 1h 44m.
The fastest way to get from Badulla to Diyatalawa is to drive which takes 37 min and costs Rs. 1500 - Rs. 2300.
Yes, there is a direct bus departing from Badulla Main Bus Station station and arriving at Diyatalawa. Services depart every four hours, and operate every day. The journey takes approximately 1h 4m.
Yes, there is a direct train departing from Badulla Station station and arriving at Diyatalawa. Services depart four times a day, and operate every day. The journey takes approximately 1h 44m.
The distance between Badulla and Diyatalawa is 35 km. The road distance is 36.4 km.
The best way to get from Badulla to Diyatalawa without a car is to bus which takes 1h 4m and costs .
The bus from Badulla Main Bus Station to Diyatalawa takes 1h 4m including transfers and departs every four hours.
Badulla to Diyatalawa bus services, operated by Sri Lanka Transport Board - SLTB ICT, depart from Badulla Main Bus Station.
Badulla to Diyatalawa train services, operated by Sri Lanka Railways, depart from Badulla Station.
The best way to get from Badulla to Diyatalawa is to bus which takes 1h 4m and costs . Alternatively, you can train, which costs Rs. 1200 - Rs. 2600 and takes 1h 44m.
What companies run services between Badulla, Sri Lanka and Diyatalawa, Uva, Sri Lanka?
Sri Lanka Transport Board - SLTB ICT operates a bus from Badulla Main Bus Station to Diyatalawa every 4 hours, and the journey takes 1h 4m. Alternatively, Sri Lanka Railways operates a train from Badulla Station to Diyatalawa 4 times a day. Tickets cost Rs 1,200–2,600 and the journey takes 1h 44m.
- Phone
- +94 11 4 600 111
- Website
- seatreservation.railway.gov.lk
Train from Badulla Station to Diyatalawa
- Ave. Duration
- 1h 44m
- Frequency
- 4 times a day
- Estimated price
- Rs 1,200–2,600
- Website
- https://seatreservation.railway.gov.lk/mtktwebslr/
- 2nd Class Fare
- Rs 1,300–1,900
- 3rd Class Fare
- Rs 1,200–1,500
- Air Conditioned Saloon
- Rs 1,200–2,600
- Phone
- +94 112 581 120
- info@eseat.lk
- Website
- sltb.eseat.lk
Bus from Badulla Main Bus Station to Diyatalawa
- Ave. Duration
- 1h 4m
- Frequency
- Every 4 hours
- Schedules at
- sltb.eseat.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 Italian Lakes: Getting around by train, Bali: What to do if Mount Agung erupts, and How to get from Southend Airport into central London - to help you get the most out of your next trip.
More Questions & Answers
Badulla to Diyatalawa bus services, operated by Sri Lanka Transport Board - SLTB ICT, arrive at Diyatalawa station.
Badulla to Diyatalawa train services, operated by Sri Lanka Railways, arrive at Diyatalawa station.
Yes, the driving distance between Badulla to Diyatalawa is 36 km. It takes approximately 37 min to drive from Badulla to Diyatalawa.
There are 1376+ hotels available in Diyatalawa.








