There are 4 ways to get from Kegalle to Badulla by train, bus, 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.
Train
best- Take the train from Kandy to Badulla Stationtrain Colombo / ...
9h 10mRs 1,450–3,263Bus
cheapest- Take the bus from Kegalle to Colombo Bastian Mawatha Bus Terminalbus Colombo
- Take the bus from Colombo Bastian Mawatha Bus Terminal to Badulla Main Bus Stationbus Route 99
9h 55mRs 1,181–3,105Drive 146.3 km
- Drive from Kegalle to Badullacar 146.3 km
2h 49mRs 6,582–9,507Taxi
- Take the taxi from Kegalle to Badullataxi 146.3 km
2h 49mRs 7,000–9,000
Kegalle to Badulla by bus and train
Comparing Your Travel Options
The cheapest way to get from Kegalle to Badulla is to train which costs Rs. 1400 - Rs. 3300 and takes 9h 10m.
The fastest way to get from Kegalle to Badulla is to drive which takes 2h 49m and costs Rs. 6500 - Rs. 9500.
No, there is no direct bus from Kegalle to Badulla station. However, there are services departing from Kegalle and arriving at Badulla Main Bus Station via Colombo Bastian Mawatha Bus Terminal. The journey, including transfers, takes approximately 9h 55m.
No, there is no direct train from Kegalle to Badulla station. However, there are services departing from Kandy and arriving at Badulla Station via . The journey, including transfers, takes approximately 9h 10m.
The distance between Kegalle and Badulla is 216 km. The road distance is 146.3 km.
The best way to get from Kegalle to Badulla without a car is to train which takes 9h 10m and costs Rs. 1400 - Rs. 3300.
It takes approximately 9h 10m to get from Kegalle to Badulla, including transfers.
Kegalle to Badulla bus services, operated by National Transport Commission, depart from Kegalle station.
Kegalle to Badulla train services, operated by Sri Lanka Railways, depart from Kandy station.
The best way to get from Kegalle to Badulla is to train which takes 9h 10m and costs Rs. 1400 - Rs. 3300. Alternatively, you can bus, which costs Rs. 1100 - Rs. 3200 and takes 9h 55m.
What companies run services between Kegalle, Sri Lanka and Badulla, Sri Lanka?
Sri Lanka Railways operates a train from Kandy to Badulla Station 3 times a day. Tickets cost Rs 1,300–3,100 and the journey takes 6h 40m. Alternatively, you can take a bus from Kegalle to Badulla Main Bus Station via Colombo Bastian Mawatha Bus Terminal in around 9h 55m.
- Phone
- +94 114 600 111
- Website
- Sri Lanka Railways
Train from Kandy to Badulla Station
- Ave. Duration
- 6h 40m
- Frequency
- 3 times a day
- Estimated price
- Rs 1,300–3,100
- Website
- Sri Lanka Railways
- 2nd Class Fare
- Rs 1,300–1,900
- 3rd Class Fare
- Rs 1,300–1,600
- Air Conditioned Saloon
- Rs 2,400–3,100
- Phone
- +94 011-2587372
- [email protected]
- Website
- National Transport Commission
Bus from Kegalle to Colombo Bastian Mawatha Bus Terminal
- Ave. Duration
- 2h 40m
- Frequency
- Every 10 minutes
- Estimated price
- Rs 280–310
- Website
- National Transport Commission
- Schedules at
- NTC Schedules
- Standard
- Rs 280–310
- Semi Lux
- Rs 320–440
- Super Lux
- Rs 600–750
- Phone
- +94 70 311 0501
- [email protected]
- Website
- sltb.eseat.lk
Bus from Colombo Bastian Mawatha Bus Terminal to Badulla Main Bus Station
- Ave. Duration
- 6h 15m
- Frequency
- Every 4 hours
- Estimated price
- Rs 900–1,300
- Schedules at
- sltb.eseat.lk
- Seater
- Rs 900–1,300
- Phone
- +94 777 382 186
- [email protected]
- Website
- Superline Travels
Bus from Colombo Bastian Mawatha Bus Terminal to Badulla Main Bus Station
- Ave. Duration
- 6h
- Frequency
- Twice daily
- Estimated price
- Rs 2,200–2,800
- Website
- Superline Travels
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 Gatwick Airport into central London, How to travel India's Golden Triangle, and South Korea: Travelling from Seoul to Busan - to help you get the most out of your next trip.
Booking & Getting There
Kegalle to Badulla bus services, operated by National Transport Commission, arrive at Colombo Bastian Mawatha Bus Terminal station.
Kegalle to Badulla train services, operated by Sri Lanka Railways, arrive at Badulla Station.
Yes, the driving distance between Kegalle to Badulla is 146 km. It takes approximately 2h 49m to drive from Kegalle to Badulla.
There are 1321+ hotels available in Badulla.













