There are 4 ways to get from Badulla to Haputale 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 Badulla Main Bus Station to HaputaleBadulla-Colombo / ...
56 minRs 2,200–2,350Train
cheapest- Take the train from Badulla Station to HaputaleBadulla
1h 54mRs 1,200–2,600Drive 41.4 km
- Drive from Badulla to Haputale41.4 km
42 minRs 1,742–2,516Taxi
- Take the taxi from Badulla to Haputale41.4 km
42 minRs 5,000–6,500
Badulla to Haputale by train
Questions & Answers
The cheapest way to get from Badulla to Haputale is to train which costs Rs. 1200 - Rs. 2600 and takes 1h 54m.
The fastest way to get from Badulla to Haputale is to drive which takes 42 min and costs Rs. 1700 - Rs. 2600.
Yes, there is a direct bus departing from Badulla Main Bus Station station and arriving at Haputale. Services depart twice daily, and operate every day. The journey takes approximately 56 min.
Yes, there is a direct train departing from Badulla Station station and arriving at Haputale. Services depart four times a day, and operate every day. The journey takes approximately 1h 54m.
The distance between Badulla and Haputale is 43 km. The road distance is 41.4 km.
The best way to get from Badulla to Haputale without a car is to bus which takes 56 min and costs Rs. 2200 - Rs. 2350.
The bus from Badulla Main Bus Station to Haputale takes 56 min including transfers and departs twice daily.
Badulla to Haputale bus services, operated by Superline Travels, depart from Badulla Main Bus Station.
Badulla to Haputale train services, operated by Sri Lanka Railways, depart from Badulla Station.
The best way to get from Badulla to Haputale is to bus which takes 56 min and costs Rs. 2200 - Rs. 2350. Alternatively, you can train, which costs Rs. 1200 - Rs. 2600 and takes 1h 54m.
What companies run services between Badulla, Sri Lanka and Haputale, Uva, Sri Lanka?
Superline Travels operates a bus from Badulla Main Bus Station to Haputale twice daily. Tickets cost Rs 2,200–2,350 and the journey takes 56 min. Alternatively, Sri Lanka Railways operates a train from Badulla Station to Haputale 4 times a day. Tickets cost Rs 1,200–2,600 and the journey takes 1h 54m.
- Phone
- +94 11 4 600 111
- Website
- seatreservation.railway.gov.lk
Train from Badulla Station to Haputale
- Ave. Duration
- 1h 54m
- 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,300–2,600
- Phone
- +94 777 382 186
- info@superline.lk
- Website
- superline.lk
Bus from Badulla Main Bus Station to Haputale
- Ave. Duration
- 56 min
- Frequency
- Twice daily
- Estimated price
- Rs 2,200–2,350
- 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 How do I get from Sydney to Melbourne, The London Underground: Essential tips to navigate the Tube, and French strikes 2018: What are my alternative transport options? - to help you get the most out of your next trip.
More Questions & Answers
Badulla to Haputale bus services, operated by Superline Travels, arrive at Haputale station.
Badulla to Haputale train services, operated by Sri Lanka Railways, arrive at Haputale station.
Yes, the driving distance between Badulla to Haputale is 41 km. It takes approximately 42 min to drive from Badulla to Haputale.
There are 1299+ hotels available in Haputale.








