Public transport in Sri Lanka is led primarily by buses and trains.
City of Colombo has extensive and very frequent bus services on many key routes within the city, as well as linking other parts of the country.
Bus services are operated by state-owned Sri Lanka Transport Board (SLTB) as well as many privately owned operators.
However, unfortunately, the bus services in Sri Lanka do not have a strong regulatory mechanism over the service delivery aspect – and thus other than a schedule operated at set timings and a standard ticket, you may not be able to expect the same level of standard service offerings across all services.
However, buses tend to be very cheap and can often be 10-15% of the price of a taxi.
SLTB long-haul services’ tickets can be booked online here.
Railway services in Sri Lanka are operated by the state owned Sri Lanka Railways (SLR) and link Colombo with many key cities in the country.
Train is often the cheapest and most convenient way to get from Colombo to other cities in the country.
A train ticket from Colombo all the way to Kandy in the hill country will cost you less than 1 USD in Economy Class (known as 3rd Class).
The train route from Colombo to Badulla (near Ella) is believed to be one of the most scenic routes in the world.
However, Sri Lanka Railways does not currently offer web reservation facility for tickets and thus your options are limited to visiting the railway station in person or ordering a ticket via one of the telecommunication operators in the.country.