There are 4 ways to get from Diyatalawa 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
best- Take the bus from Diyatalawa to Colombo Bastian Mawatha Bus TerminalRoute 99
5h 11mRs 900–1,300Train
- Take the train from Diyatalawa to Fort StationBadulla
8h 15mRs 1,300–8,000Drive 184.8 km
- Drive from Diyatalawa to Colombo184.8 km
2h 59mRs 7,785–11,245Bus via Welimada
- Take the bus from Welimada to Colombo Bastian Mawatha Bus Terminal79-1
5h 51mRs 3,035–3,578
Diyatalawa to Colombo by train
Questions & Answers
The cheapest way to get from Diyatalawa to Colombo is to bus which costs Rs. 900 - Rs. 1300 and takes 5h 11m.
The fastest way to get from Diyatalawa to Colombo is to drive which takes 2h 59m and costs Rs. 7500 - Rs. 12000.
Yes, there is a direct bus departing from Diyatalawa and arriving at Colombo Bastian Mawatha Bus Terminal. Services depart every four hours, and operate every day. The journey takes approximately 5h 11m.
Yes, there is a direct train departing from Diyatalawa and arriving at Fort Station station. Services depart three times a day, and operate every day. The journey takes approximately 8h 15m.
The distance between Diyatalawa and Colombo is 184 km. The road distance is 184.8 km.
The best way to get from Diyatalawa to Colombo without a car is to bus which takes 5h 11m and costs Rs. 900 - Rs. 1300.
The bus from Diyatalawa to Colombo Bastian Mawatha Bus Terminal takes 5h 11m including transfers and departs every four hours.
Diyatalawa to Colombo bus services, operated by Sri Lanka Transport Board - SLTB ICT, depart from Diyatalawa station.
Diyatalawa to Colombo train services, operated by Sri Lanka Railways, depart from Diyatalawa station.
The best way to get from Diyatalawa to Colombo is to bus which takes 5h 11m and costs Rs. 900 - Rs. 1300. Alternatively, you can train, which costs Rs. 1300 - Rs. 8000 and takes 8h 15m.
What companies run services between Diyatalawa, Uva, Sri Lanka and Colombo, Sri Lanka?
Sri Lanka Transport Board - SLTB ICT operates a bus from Diyatalawa to Colombo Bastian Mawatha Bus Terminal every 4 hours. Tickets cost Rs 900–1,300 and the journey takes 5h 11m. Alternatively, Sri Lanka Railways operates a train from Diyatalawa to Fort Station 3 times a day. Tickets cost Rs 1,300–8,000 and the journey takes 8h 15m.
- Phone
- +94 11 4 600 111
- Website
- seatreservation.railway.gov.lk
Train from Diyatalawa to Fort Station
- Ave. Duration
- 8h 15m
- Frequency
- 3 times a day
- Estimated price
- Rs 1,300–8,000
- Website
- https://seatreservation.railway.gov.lk/mtktwebslr/
- 2nd Class Fare
- Rs 1,300–1,900
- 3rd Class Fare
- Rs 1,300–1,700
- Air Conditioned Saloon
- Rs 2,700–8,000
- Phone
- +94 112 581 120
- info@eseat.lk
- Website
- sltb.eseat.lk
Bus from Diyatalawa to Colombo Bastian Mawatha Bus Terminal
- Ave. Duration
- 5h 11m
- 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 Welimada to Colombo Bastian Mawatha Bus Terminal
- 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 10 amazing places to get away from it all in Australia, Need to know: Jadrolinija, and Bali: What to do if Mount Agung erupts - to help you get the most out of your next trip.
More Questions & Answers
Diyatalawa to Colombo bus services, operated by Sri Lanka Transport Board - SLTB ICT, arrive at Colombo Bastian Mawatha Bus Terminal station.
Diyatalawa to Colombo train services, operated by Sri Lanka Railways, arrive at Fort Station.
Yes, the driving distance between Diyatalawa to Colombo is 185 km. It takes approximately 2h 59m to drive from Diyatalawa to Colombo.
There are 1439+ hotels available in Colombo.











