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 Diyatalawabus Route 99
1h 4mTrain
cheapest- Take the train from Badulla Station to Diyatalawatrain Badulla
1h 44mRs 1,200–2,600Drive 36.4 km
- Drive from Badulla to Diyatalawacar 36.4 km
38 minRs 1,528–2,206Taxi
- Take the taxi from Badulla to Diyatalawataxi 36.4 km
38 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 38 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 twice daily, 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 twice daily. 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
- Twice daily
- 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 How to get from JFK to New York City, The beginner’s guide to the 2018 World Nomad Games, and How do I buy a London Underground ticket? - 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 38 min to drive from Badulla to Diyatalawa.
There are 1461+ hotels available in Diyatalawa.








