There are 4 ways to get from Diyatalawa to Badulla 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 Diyatalawa to Badulla Main Bus Stationbus Route 99
1h 5mRs 800–1,100Train
- Take the train from Diyatalawa to Badulla Stationtrain Colombo / ...
1h 31mRs 1,200–2,900Drive 36.6 km
- Drive from Diyatalawa to Badullacar 36.6 km
38 minRs 1,669–2,410Taxi
- Take the taxi from Diyatalawa to Badullataxi 36.6 km
38 minRs 4,500–5,500
Diyatalawa to Badulla by train
Questions & Answers
The cheapest way to get from Diyatalawa to Badulla is to bus which costs Rs. 800 - Rs. 1100 and takes 1h 5m.
The fastest way to get from Diyatalawa to Badulla is to drive which takes 38 min and costs Rs. 1600 - Rs. 2500.
Yes, there is a direct bus departing from Diyatalawa and arriving at Badulla Main Bus Station station. Services depart every four hours, and operate every day. The journey takes approximately 1h 5m.
Yes, there is a direct train departing from Diyatalawa and arriving at Badulla Station station. Services depart four times a day, and operate every day. The journey takes approximately 1h 31m.
The distance between Diyatalawa and Badulla is 35 km. The road distance is 36.6 km.
The best way to get from Diyatalawa to Badulla without a car is to bus which takes 1h 5m and costs Rs. 800 - Rs. 1100.
The bus from Diyatalawa to Badulla Main Bus Station takes 1h 5m including transfers and departs every four hours.
Diyatalawa to Badulla bus services, operated by Sri Lanka Transport Board - SLTB ICT, depart from Diyatalawa station.
Diyatalawa to Badulla train services, operated by Sri Lanka Railways, depart from Diyatalawa station.
The best way to get from Diyatalawa to Badulla is to bus which takes 1h 5m and costs Rs. 800 - Rs. 1100. Alternatively, you can train, which costs Rs. 1200 - Rs. 2900 and takes 1h 31m.
What companies run services between Diyatalawa, Uva, Sri Lanka and Badulla, Sri Lanka?
Sri Lanka Transport Board - SLTB ICT operates a bus from Diyatalawa to Badulla Main Bus Station every 4 hours. Tickets cost Rs 800–1,100 and the journey takes 1h 5m. Alternatively, Sri Lanka Railways operates a train from Diyatalawa to Badulla Station 4 times a day. Tickets cost Rs 1,200–2,900 and the journey takes 1h 31m.
- Phone
- +94 114 600 111
- Website
- seatreservation.railway.gov.lk
Train from Diyatalawa to Badulla Station
- Ave. Duration
- 1h 31m
- Frequency
- 4 times a day
- Estimated price
- Rs 1,200–2,900
- 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 2,200–2,900
- Phone
- +94 70 311 0501
- [email protected]
- Website
- sltb.eseat.lk
Bus from Diyatalawa to Badulla Main Bus Station
- Ave. Duration
- 1h 5m
- Frequency
- Every 4 hours
- Estimated price
- Rs 800–1,100
- Schedules at
- sltb.eseat.lk
- Ave. Duration
- 38 min
- Estimated price
- Rs 4,500–5,500
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 How to get from London to Edinburgh, What documents do I need to cross Niagara Falls?, and Need to know: Jadrolinija - to help you get the most out of your next trip.
More Questions & Answers
Diyatalawa to Badulla bus services, operated by Sri Lanka Transport Board - SLTB ICT, arrive at Badulla Main Bus Station.
Diyatalawa to Badulla train services, operated by Sri Lanka Railways, arrive at Badulla Station.
Yes, the driving distance between Diyatalawa to Badulla is 37 km. It takes approximately 38 min to drive from Diyatalawa to Badulla.
There are 1348+ hotels available in Badulla.







