• Our partners include:

  • Booking.com
  • Skyscanner
  • Airbnb
  • Expedia
  • Uber
  • Rentalcars.com

There are 5 ways to get from Badulla to Colombo by bus, train, taxi, car or plane

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2rio's travel planner.

Recommended option

Bus  •  7h 30m

  1. Take the bus from Badulla to Pettah CTB 99 / ...

$1 - $3

4 alternative options

Train  •  9h 42m

  1. Take the train from Badulla Station to Fort Station Badulla

$1 - $6

Taxi  •  3h 39m

  1. Take a taxi from Badulla to Colombo 139.7 miles

$80 - $100

Drive  •  3h 39m

  1. Drive from Badulla to Colombo 139.7 miles

$16 - $25

Taxi, fly  •  2h 50m

  1. Take a taxi from Badulla to Katugastota
  2. Fly from Katugastota (KDZ) to Diyawanna Oya (DWO) KDZ - DWO

$76 - $320

Questions & Answers

The cheapest way to get from Badulla to Colombo is to bus which costs Rs. 250 - Rs. 470 and takes 7h 30m.

More details

The quickest way to get from Badulla to Colombo is to taxi and fly which costs Rs. 13000 - Rs. 55000 and takes 2h 50m.

More details

Yes, there is a direct bus departing from Badulla and arriving at Pettah CTB. Services depart hourly, and operate every day. The journey takes approximately 7h 30m.

More details

Yes, there is a direct train departing from Badulla Station station and arriving at Fort Station station. Services depart four times a day, and operate every day. The journey takes approximately 9h 42m.

More details

The distance between Badulla and Colombo is 133 km. The road distance is 223.5 km.

Get driving directions

The best way to get from Badulla to Colombo without a car is to bus which takes 7h 30m and costs Rs. 250 - Rs. 470.

More details

The bus from Badulla to Pettah CTB takes 7h 30m including transfers and departs hourly.

More details

Badulla to Colombo bus services, operated by National Transport Commission, depart from Badulla station.

More details

Badulla to Colombo train services, operated by Sri Lanka Railways, arrive at Badulla Station.

More details

The best way to get from Badulla to Colombo is to bus which takes 7h 30m and costs Rs. 250 - Rs. 470. Alternatively, you can train, which costs Rs. 280 - Rs. 900 and takes 9h 42m.

Mode details

Map of how to get from Badulla to Colombo.
Launch map view
  • Distance: 83.4 miles
  • Duration: 7h 30m

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

National Transport Commission operates a bus from Badulla to Colombo hourly. Tickets cost $1 - $3 and the journey takes 7h 30m. Alternatively, Sri Lanka Railways operates a train from Badulla to Colombo 4 times a day. Tickets cost $1 - $6 and the journey takes 9h 42m.

Airlines
Cinnamon Air
Website
cinnamonair.com
Flights from Katugastota to Diyawanna Oya
Ave. Duration
30m
When
Every day
Estimated price
$25 - $260
Train operators
Sri Lanka Railways
Website
railway.gov.lk
Train from Badulla Station to Fort Station
Ave. Duration
9h 42m
Frequency
4 times a day
Estimated price
$1 - $6
Schedules at
railway.gov.lk
3rd Class
$1 - $2
2nd Class
$1 - $3
1st Class
$4 - $6
Bus operators
National Transport Commission
Phone
+94 011-2587372
Email
info@ntc.gov.lk
Website
ntc.gov.lk
Bus from Badulla to Pettah CTB
Ave. Duration
7h 30m
Frequency
Hourly
Estimated price
$1 - $3
Schedules at
ntc.gov.lk
Standard
$1 - $2
Semi Lux
$2 - $3
AirCon
$3 - $4
Super Lux
$6
Other operators
Taxi from Badulla to Colombo
Ave. Duration
3h 39m
Estimated price
$80 - $100

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 Best ways to travel around Australia, How do I buy a London Underground ticket? and Which London airport should I choose? - to help you get the most out of your next trip.

More Questions & Answers

The quickest flight from Katugastota Airport to Diyawanna Oya Airport is the direct flight which takes 30m.

Search flights

Badulla to Colombo bus services, operated by National Transport Commission, arrive at Pettah CTB station.

More details

Badulla to Colombo train services, operated by Sri Lanka Railways, arrive at Fort Station.

More details

Yes, the driving distance between Badulla to Colombo is 224 km. It takes approximately 3h 39m to drive from Badulla to Colombo.

Get driving directions

Cinnamon Air offers flights from Katugastota Airport to Diyawanna Oya Airport.

Search flights

There are 1217+ hotels available in Colombo. Prices start at $25 USD per night.

More details