Rome2Rio

How to get fromKegalle to Badullaby train, bus, car, or taxi

Find Transport to Badulla

See all options

There are 4 ways to get from Kegalle to Badulla 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 Kandy to Badulla Stationtrain train Colombo / ...
    9h 10m
    Rs 1,450–3,263
  2. Bus

    cheapest
    1. Take the bus from Kegalle to Colombo Bastian Mawatha Bus Terminalbus bus Colombo
    2. Take the bus from Colombo Bastian Mawatha Bus Terminal to Badulla Main Bus Stationbus bus Route 99
    9h 55m
    Rs 1,181–3,105
  3. Drive  146.3 km

    1. Drive from Kegalle to Badullacar car 146.3 km
    2h 49m
    Rs 6,582–9,507
  4. Taxi

    1. Take the taxi from Kegalle to Badullataxi taxi 146.3 km
    2h 49m
    Rs 7,000–9,000

Kegalle to Badulla by bus and train

Calendar20Weekly Services
Duration9h 10mAverage Duration
TicketRs 1,450Cheapest Price
See schedules

Comparing Your Travel Options

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

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

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 Need to know: Eurostar, How to get from Stansted Airport into central London, and Getting to Milan from the airport - to help you get the most out of your next trip.

Booking & Getting There