Rome2Rio

How to get fromKandy to Diyatalawaby bus, train, car, or taxi

Find Transport to Diyatalawa

See all options

There are 4 ways to get from Kandy to Diyatalawa 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.

  1. Bus

    best
    1. Take the bus from Kandy to Welimadabus bus
    3h 49m
    Rs 2,555–3,541
  2. Train

    cheapest
    1. Take the train from Kandy to Diyatalawatrain train Colombo / ...
    5h 5m
    Rs 1,200–3,000
  3. Drive  116 km

    1. Drive from Kandy to Diyatalawacar car 116 km
    2h 8m
    Rs 5,221–7,541
  4. Taxi

    1. Take the taxi from Kandy to Diyatalawataxi taxi 116 km
    2h 8m
    Rs 14,000–17,000

Kandy to Diyatalawa by train

Calendar22Weekly Trains
Duration5h 5mAverage Duration
TicketRs 1,200Cheapest Price
See schedules

Comparing Your Travel Options

What companies run services between Kandy, Sri Lanka and Diyatalawa, Uva, Sri Lanka?

National Transport Commission operates a bus from Kandy to Welimada twice daily. Tickets cost Rs 350–850 and the journey takes 3h 25m. Alternatively, Sri Lanka Railways operates a train from Kandy to Diyatalawa 3 times a day. Tickets cost Rs 1,200–3,000 and the journey takes 5h 5m.

Train operators
Bus operators
Other 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 Italian Lakes: Getting around by train, Which London airport should I choose?, and 4 stunningly beautiful Philippines islands you need to visit - to help you get the most out of your next trip.

Booking & Getting There