There are 4 ways to get from Badulla to Mahabage 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 / ...
7h 32mRs 2,833–3,548Bus
cheapest- Take the bus from Badulla Main Bus Station to Colombo Bastian Mawatha Bus Terminalbus Route 99
7h 53mRs 900–2,800Train
- Take the train from Badulla Station to Ragamatrain Badulla
9h 42mRs 2,279–4,276Drive 204.7 km
- Drive from Badulla to Mahabagecar 204.7 km
3h 44mRs 9,205–13,296
Comparing Your Travel Options
The cheapest way to get from Badulla to Mahabage is to bus which costs Rs. 900 - Rs. 2800 and takes 7h 53m.
The fastest way to get from Badulla to Mahabage is to drive which takes 3h 44m and costs Rs. 9000 - Rs. 14000.
No, there is no direct bus from Badulla to Mahabage. However, there are services departing from Hali-Ela and arriving at Mahabage via Pettah. The journey, including transfers, takes approximately 7h 32m.
No, there is no direct train from Badulla station to Mahabage. However, there are services departing from Badulla Station and arriving at Ragama via . The journey, including transfers, takes approximately 9h 42m.
The distance between Badulla and Mahabage is 250 km. The road distance is 204.7 km.
The best way to get from Badulla to Mahabage without a car is to bus via Hali-Ela which takes 7h 32m and costs Rs. 2800 - Rs. 3600.
It takes approximately 7h 32m to get from Badulla to Mahabage, including transfers.
Badulla to Mahabage bus services, operated by Superline Travels, depart from Hali-Ela station.
Badulla to Mahabage train services, operated by Sri Lanka Railways, depart from Badulla Station.
The best way to get from Badulla to Mahabage is to bus via Hali-Ela which takes 7h 32m and costs Rs. 2800 - Rs. 3600. Alternatively, you can train, which costs Rs. 2200 - Rs. 4300 and takes 9h 42m.
What companies run services between Badulla, Sri Lanka and Mahabage, Western, 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 Ragama 3 times a day. Tickets cost Rs 1,300–3,200 and the journey takes 9h 38m.
- Phone
- +94 114 600 111
- Website
- Sri Lanka Railways
Train from Badulla Station to Ragama
- Ave. Duration
- 9h 38m
- 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
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 Why you should take the train in the US, French strikes 2018: What are my alternative transport options?, and 4 of the smartest ways to explore Australia - to help you get the most out of your next trip.
Booking & Getting There
Badulla to Mahabage bus services, operated by Superline Travels, arrive at Colombo Bastian Mawatha Bus Terminal station.
Badulla to Mahabage train services, operated by Sri Lanka Railways, arrive at Ragama station.
Yes, the driving distance between Badulla to Mahabage is 205 km. It takes approximately 3h 44m to drive from Badulla to Mahabage.
There are 2300+ hotels available in Mahabage.







