There are 4 ways to get from Colombo to Diyatalawa 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
best- Take the bus from Colombo Bastian Mawatha Bus Terminal to DiyatalawaRoute 99
5h 10mRs 900–1,300Train
- Take the train from Fort Station to DiyatalawaColombo
7h 45mRs 1,300–8,500Drive 184.8 km
- Drive from Colombo to Diyatalawa184.8 km
2h 59mRs 7,774–11,228Bus via Welimada
- Take the bus from Colombo Bastian Mawatha Bus Terminal to Welimada79-1
5h 50mRs 2,913–3,567
Colombo to Diyatalawa by train
Questions & Answers
The cheapest way to get from Colombo to Diyatalawa is to bus which costs Rs. 900 - Rs. 1300 and takes 5h 10m.
The fastest way to get from Colombo to Diyatalawa is to drive which takes 2h 59m and costs Rs. 7500 - Rs. 12000.
Yes, there is a direct bus departing from Colombo Bastian Mawatha Bus Terminal and arriving at Diyatalawa. Services depart every four hours, and operate every day. The journey takes approximately 5h 10m.
Yes, there is a direct train departing from Fort Station station and arriving at Diyatalawa. Services depart three times a day, and operate every day. The journey takes approximately 7h 45m.
The distance between Colombo and Diyatalawa is 184 km. The road distance is 184.8 km.
The best way to get from Colombo to Diyatalawa without a car is to bus which takes 5h 10m and costs Rs. 900 - Rs. 1300.
The bus from Colombo Bastian Mawatha Bus Terminal to Diyatalawa takes 5h 10m including transfers and departs every four hours.
Colombo to Diyatalawa bus services, operated by Sri Lanka Transport Board - SLTB ICT, depart from Colombo Bastian Mawatha Bus Terminal station.
Colombo to Diyatalawa train services, operated by Sri Lanka Railways, depart from Fort Station.
The best way to get from Colombo to Diyatalawa is to bus which takes 5h 10m and costs Rs. 900 - Rs. 1300. Alternatively, you can train, which costs Rs. 1300 - Rs. 8500 and takes 7h 45m.
What companies run services between Colombo, Sri Lanka and Diyatalawa, Uva, Sri Lanka?
Sri Lanka Transport Board - SLTB ICT operates a bus from Colombo Bastian Mawatha Bus Terminal to Diyatalawa every 4 hours. Tickets cost Rs 900–1,300 and the journey takes 5h 10m. Alternatively, Sri Lanka Railways operates a train from Fort Station to Diyatalawa 3 times a day. Tickets cost Rs 1,300–8,500 and the journey takes 7h 45m.
- Phone
- +94 11 4 600 111
- Website
- seatreservation.railway.gov.lk
Train from Fort Station to Diyatalawa
- Ave. Duration
- 7h 45m
- Frequency
- 3 times a day
- Estimated price
- Rs 1,300–8,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–8,500
- Phone
- +94 112 581 120
- info@eseat.lk
- Website
- sltb.eseat.lk
Bus from Colombo Bastian Mawatha Bus Terminal to Diyatalawa
- Ave. Duration
- 5h 10m
- Frequency
- Every 4 hours
- Estimated price
- Rs 900–1,300
- Schedules at
- sltb.eseat.lk
- Seater
- Rs 900–1,300
- Phone
- +94 011-2587372
- info@ntc.gov.lk
- Website
- ntc.gov.lk
Bus from Colombo Bastian Mawatha Bus Terminal to Welimada
- Ave. Duration
- 5h 25m
- Frequency
- Hourly
- Estimated price
- Rs 600–700
- Website
- https://www.ntc.gov.lk/
- Schedules at
- https://www.ntc.gov.lk/times/
- Standard
- Rs 600–700
- Semi Lux
- Rs 750–1,100
- Super Lux
- Rs 1,400–1,800
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 Travelling by boat in Italy, Italian Lakes: Getting around by train, and Italy Travel Guides - to help you get the most out of your next trip.
More Questions & Answers
Colombo to Diyatalawa bus services, operated by Sri Lanka Transport Board - SLTB ICT, arrive at Diyatalawa station.
Colombo to Diyatalawa train services, operated by Sri Lanka Railways, arrive at Diyatalawa station.
Yes, the driving distance between Colombo to Diyatalawa is 185 km. It takes approximately 2h 59m to drive from Colombo to Diyatalawa.
There are 1376+ hotels available in Diyatalawa.











