Rome2Rio

How to get fromBadulla to Kegalleby train, bus, car, or taxi

Find Transport to Kegalle

See all options

There are 4 ways to get from Badulla to Kegalle by train, bus, 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. Train

    best
    1. Take the train from Badulla Station to Kandytrain train Badulla
    8h 48m
    Rs 1,479–3,222
  2. Bus

    cheapest
    1. Take the bus from Badulla Main Bus Station to Colombo Bastian Mawatha Bus Terminalbus bus Route 99
    2. Take the bus from Colombo Bastian Mawatha Bus Terminal to Kegallebus bus Colombo
    8h 58m
    Rs 1,195–3,020
  3. Drive  146.2 km

    1. Drive from Badulla to Kegallecar car 146.2 km
    2h 48m
    Rs 6,588–9,516
  4. Taxi

    1. Take the taxi from Badulla to Kegalletaxi taxi 146.2 km
    2h 48m
    Rs 7,000–9,000

Badulla to Kegalle by train and bus

Calendar20Weekly Services
Duration8h 48mAverage Duration
TicketRs 1,479Cheapest Price
See schedules

Comparing Your Travel Options

What companies run services between Badulla, Sri Lanka and Kegalle, Sri Lanka?

Sri Lanka Railways operates a train from Badulla Station to Kandy 3 times a day. Tickets cost Rs 1,300–3,100 and the journey takes 7h 15m. Alternatively, you can take a bus from Badulla Main Bus Station to Kegalle via Colombo Bastian Mawatha Bus Terminal in around 8h 58m.

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 How to plan an amazing trip around Scandinavia, Getting to Milan from the airport, and What documents do I need to cross Niagara Falls? - to help you get the most out of your next trip.

Booking & Getting There