There are 4 ways to get from Badulla to Colombo by bus, train, or car
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Bus via Hali-Ela
best- Take the bus from Hali-Ela to Colombo Bastian Mawatha Bus Terminalbus Badulla-Colombo / ...
5h 54mRs 2,833–3,548Bus
cheapest- Take the bus from Badulla Main Bus Station to Colombo Bastian Mawatha Bus Terminalbus Route 99
6h 15mRs 900–2,800Train
- Take the train from Badulla Station to Fort Stationtrain Badulla
10h 1mRs 1,300–3,200Drive 207.9 km
- Drive from Badulla to Colombocar 207.9 km
3h 45mRs 9,348–13,503
Badulla to Colombo by train
Comparing Your Travel Options
The cheapest way to get from Badulla to Colombo is to train which costs Rs. 1300 - Rs. 3200 and takes 10h 1m.
The fastest way to get from Badulla to Colombo is to drive which takes 3h 45m and costs Rs. 9000 - Rs. 14000.
Yes, there is a direct bus departing from Badulla Main Bus Station station and arriving at Colombo Bastian Mawatha Bus Terminal. Services depart every three hours, and operate every day. The journey takes approximately 6h 15m.
Yes, there is a direct train departing from Badulla Station station and arriving at Fort Station station. Services depart three times a day, and operate every day. The journey takes approximately 10h 1m.
The distance between Badulla and Colombo is 234 km. The road distance is 207.9 km.
The best way to get from Badulla to Colombo without a car is to bus via Hali-Ela which takes 5h 54m and costs Rs. 2800 - Rs. 3600.
It takes approximately 5h 54m to get from Badulla to Colombo, including transfers.
Badulla to Colombo bus services, operated by Superline Travels, depart from Hali-Ela station.
Badulla to Colombo train services, operated by Sri Lanka Railways, depart from Badulla Station.
The best way to get from Badulla to Colombo is to bus via Hali-Ela which takes 5h 54m and costs Rs. 2800 - Rs. 3600. Alternatively, you can train, which costs Rs. 1300 - Rs. 3200 and takes 10h 1m.
What companies run services between Badulla, Sri Lanka and Colombo, Sri Lanka?
Superline Travels operates a bus from Hali-Ela to Colombo Bastian Mawatha Bus Terminal twice daily. Tickets cost Rs 2,200–2,800 and the journey takes 5h 42m. Alternatively, Sri Lanka Railways operates a train from Badulla Station to Fort Station 3 times a day. Tickets cost Rs 1,300–3,200 and the journey takes 10h 1m.
- Phone
- +94 114 600 111
- Website
- Sri Lanka Railways
Train from Badulla Station to Fort Station
- Ave. Duration
- 10h 1m
- Frequency
- 3 times a day
- Estimated price
- Rs 1,300–3,200
- Website
- Sri Lanka Railways
- 2nd Class Fare
- Rs 1,300–1,900
- 3rd Class Fare
- Rs 1,400–1,700
- Air Conditioned Saloon
- Rs 2,500–3,200
- Phone
- +94 777 382 186
- info@superline.lk
- Website
- Superline Travels
Bus from Hali-Ela to Colombo Bastian Mawatha Bus Terminal
- Ave. Duration
- 5h 42m
- Frequency
- Twice daily
- Estimated price
- Rs 2,200–2,800
- Website
- Superline Travels
Bus from Badulla Main Bus Station to Colombo Bastian Mawatha Bus Terminal
- Ave. Duration
- 5h 50m
- Frequency
- Twice daily
- Estimated price
- Rs 2,200–2,800
- Website
- Superline Travels
- Phone
- +94 70 311 0501
- info@eseat.lk
- Website
- sltb.eseat.lk
Bus from Badulla Main Bus Station to Colombo Bastian Mawatha Bus Terminal
- Ave. Duration
- 6h 15m
- Frequency
- Every 4 hours
- Estimated price
- Rs 900–1,300
- Schedules at
- sltb.eseat.lk
- Seater
- Rs 900–1,300
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 Heading to Europe? Read this before you buy a Eurail Pass, How to get from Southend Airport into central London, and How do I get from Sydney to Melbourne - to help you get the most out of your next trip.
Booking & Getting There
Badulla to Colombo bus services, operated by Superline Travels, arrive at Colombo Bastian Mawatha Bus Terminal station.
Badulla to Colombo train services, operated by Sri Lanka Railways, arrive at Fort Station.
Yes, the driving distance between Badulla to Colombo is 208 km. It takes approximately 3h 45m to drive from Badulla to Colombo.
There are 1412+ hotels available in Colombo.









