Rome2Rio

How to get fromColombo to Diyatalawaby bus, train or car

Find Transport to Diyatalawa

See all options

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.

  1. Bus

    best
    1. Take the bus from Colombo Bastian Mawatha Bus Terminal to DiyatalawabusRoute 99
    5h 10m
    Rs 900–1,300
  2. Train

    1. Take the train from Fort Station to DiyatalawatrainColombo
    7h 45m
    Rs 1,300–8,500
  3. Drive 184.8 km

    1. Drive from Colombo to Diyatalawacar184.8 km
    2h 59m
    Rs 7,774–11,228
  4. Bus via Welimada

    1. Take the bus from Colombo Bastian Mawatha Bus Terminal to Welimadabus79-1
    5h 50m
    Rs 2,913–3,567

Colombo to Diyatalawa by train

Calendar21Weekly Trains
Duration7h 45mAverage Duration
TicketRs 1,300Cheapest Price
See schedules

Questions & Answers

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.

Train operators
Bus operators

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