There are 3 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.
Badulla to Colombo by train
Questions & Answers
The cheapest way to get from Badulla to Colombo is to train which costs Rs. 1300 - Rs. 9500 and takes 10h 1m.
The fastest way to get from Badulla to Colombo is to drive which takes 3h 44m and costs Rs. 8500 - Rs. 13000.
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 218 km. The road distance is 207.8 km.
The best way to get from Badulla to Colombo without a car is to bus which takes 6h 15m and costs Rs. 900 - Rs. 2400.
The bus from Badulla Main Bus Station to Colombo Bastian Mawatha Bus Terminal takes 6h 15m including transfers and departs every three hours.
Badulla to Colombo bus services, operated by Sri Lanka Transport Board - SLTB ICT, depart from Badulla Main Bus 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 which takes 6h 15m and costs Rs. 900 - Rs. 2400. Alternatively, you can train, which costs Rs. 1300 - Rs. 9500 and takes 10h 1m.
What companies run services between Badulla, Sri Lanka and Colombo, Sri Lanka?
Sri Lanka Transport Board - SLTB ICT operates a bus from Badulla Main Bus Station to Colombo Bastian Mawatha Bus Terminal every 4 hours. Tickets cost Rs 900–1,300 and the journey takes 6h 15m. Superline Travels also services this route twice daily. Alternatively, Sri Lanka Railways operates a train from Badulla Station to Fort Station 3 times a day. Tickets cost Rs 1,300–9,500 and the journey takes 10h 1m.
Transport is disrupted due to the Russia-Ukraine war. Read more
- Phone
- +94 11 4 600 111
- Website
- seatreservation.railway.gov.lk
Train from Badulla Station to Fort Station
- Ave. Duration
- 10h 1m
- Frequency
- 3 times a day
- Estimated price
- Rs 1,300–9,500
- Website
- https://seatreservation.railway.gov.lk/mtktwebslr/
- 2nd Class Fare
- Rs 1,300–1,900
- 3rd Class Fare
- Rs 1,400–1,700
- Air Conditioned Saloon
- Rs 2,800–9,500
- Phone
- +94 112 581 120
- 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
- Phone
- +94 777 382 186
- info@superline.lk
- Website
- superline.lk
Bus from Badulla Main Bus Station to Colombo Bastian Mawatha Bus Terminal
- Ave. Duration
- 5h 22m
- Frequency
- Twice daily
- Estimated price
- Rs 2,250–2,400
- Website
- https://superline.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 Want to know more about Flixbus?, Need to know: Eurostar, 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 Colombo bus services, operated by Sri Lanka Transport Board - SLTB ICT, 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 44m to drive from Badulla to Colombo.
There are 1477+ hotels available in Colombo.










