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 5mTrain
cheapest- Take the train from Diyatalawa to Badulla Stationtrain Colombo / ...
1h 31mRs 1,200–2,600Drive 36.6 km
- Drive from Diyatalawa to Badullacar 36.6 km
38 minRs 1,534–2,215Taxi
- Take the taxi from Diyatalawa to Badullataxi 36.6 km
38 minRs 4,700–6,000
Diyatalawa to Badulla by train
Questions & Answers
The cheapest way to get from Diyatalawa to Badulla is to train which costs Rs. 1200 - Rs. 2600 and takes 1h 31m.
The fastest way to get from Diyatalawa to Badulla is to drive which takes 38 min and costs Rs. 1500 - Rs. 2300.
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 .
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 . Alternatively, you can train, which costs Rs. 1200 - Rs. 2600 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, 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,600 and the journey takes 1h 31m.
- Phone
- +94 11 4 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,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 Diyatalawa to Badulla Main Bus Station
- Ave. Duration
- 1h 5m
- Frequency
- Every 4 hours
- Schedules at
- sltb.eseat.lk
- Ave. Duration
- 38 min
- Estimated price
- Rs 4,700–6,000
Ella Budget Taxi
- Phone
- +94 77 078 9383
- Website
- ellabudgettaxi.com
Ceylon Ella Taxi
- Phone
- +94761 300 309
- Website
- ceylonellataxi.lk
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 Bali: What to do if Mount Agung erupts, Getting to Milan from the airport, and French strikes 2018: What are my alternative transport options? - 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 1219+ hotels available in Badulla.








