Quick answer
To reach Sigiriya by public transport, take a bus to Dambulla, then a local bus or tuk-tuk to Sigiriya village, roughly 20 kilometres and 30 to 40 minutes away. From Colombo, buses to Dambulla take roughly four to five hours; from Kandy, roughly two to three. There is no station at Sigiriya; the nearest useful railway station is Habarana, from which you continue by bus or tuk-tuk. Allow longer than the timetable suggests.
Key takeaways
- There is no railway station at Sigiriya; Dambulla is the main bus hub for the area.
- Local buses run between Dambulla and Sigiriya village, roughly 20 kilometres and 30 to 40 minutes.
- Buses from Colombo to Dambulla take roughly four to five hours, and from Kandy roughly two to three.
- Habarana is the nearest useful railway station, on the lines towards Trincomalee and Batticaloa.
- Public transport is cheap but slow, and a tuk-tuk covers the final stretch if buses are infrequent.
How public transport to Sigiriya works
Sigiriya itself is a village without a railway station or major bus terminus. Public transport to Sigiriya works in two stages: first a long-distance bus or train to a regional hub, usually Dambulla or Habarana, then a local bus or tuk-tuk for the last stretch.
Dambulla, roughly 20 kilometres from Sigiriya, is the most convenient hub, since buses from Colombo, Kandy and many other towns pass through it. Habarana, roughly 25 kilometres away, is the nearest railway station.
- →Stage one: bus to Dambulla, or train to Habarana.
- →Stage two: local bus or tuk-tuk to Sigiriya village.
- →Dambulla to Sigiriya: roughly 30 to 40 minutes.
- →Habarana to Sigiriya: roughly 30 to 40 minutes by road.
From Colombo
Buses from Colombo to Dambulla leave from the central bus stations and take roughly four to five hours, depending on traffic and the type of bus. Air-conditioned intercity buses are faster and more comfortable than ordinary buses, and worth the small extra cost on a long journey.
From Dambulla, change to a local bus to Sigiriya or take a tuk-tuk. Leave Colombo early in the morning to arrive in Sigiriya by mid-afternoon, and avoid the evening rush out of the city.
From Kandy
Buses from Kandy to Dambulla take roughly two to three hours along the Kandy to Jaffna road, and run frequently through the day. Some continue further north and pass through Dambulla on the way.
From Dambulla, take the local bus or a tuk-tuk to Sigiriya. The whole journey from Kandy to Sigiriya by public transport usually takes three to four hours including the change.
From the airport
Bandaranaike International Airport at Katunayake is roughly four to five hours from Sigiriya by road. By public transport it means a bus towards Negombo or Colombo, then a long-distance bus towards Dambulla, then the local connection. It is possible but long and tiring after a flight.
Most arriving travellers either take a private transfer or spend the first night in Negombo, close to the airport, and travel to Sigiriya the next morning by bus.
By train to Habarana
Habarana is the nearest useful railway station for Sigiriya, on the lines from Colombo towards Trincomalee and Batticaloa. Services are limited, and the journey is slower than the bus, but it is a pleasant alternative for travellers who prefer trains.
From Habarana station, take a tuk-tuk or a bus to Sigiriya, roughly 30 to 40 minutes. Check current timetables locally, since services change.
- →Habarana is on the lines towards Trincomalee and Batticaloa.
- →Services are limited; check current timetables.
- →Slower than the bus, but more comfortable for some.
- →Tuk-tuk or bus from Habarana to Sigiriya.
Practical tips
Public transport around Sigiriya is cheap and generally safe, but it runs on its own timetable. Allow longer than the schedule suggests, carry small notes for fares, and keep luggage manageable, since buses can be crowded.
Local buses from Dambulla to Sigiriya can be infrequent late in the day, so aim to arrive in Dambulla by mid-afternoon. For travellers who prefer not to manage connections, Lankan Stays & Trails arranges private driver-guides from any starting point, with stops at Dambulla on the way.
- →Allow longer than the timetable suggests.
- →Carry small notes for fares.
- →Keep luggage manageable.
- →Arrive in Dambulla by mid-afternoon.
- →Use a tuk-tuk if the local bus is not running.
Frequently asked questions
How do I get to Sigiriya by bus?
Take a bus to Dambulla, then a local bus or tuk-tuk to Sigiriya village, roughly 20 kilometres and 30 to 40 minutes away. Buses from Colombo to Dambulla take roughly four to five hours, and from Kandy roughly two to three.
Is there a train to Sigiriya?
No. There is no railway station at Sigiriya. The nearest useful station is Habarana, on the lines towards Trincomalee and Batticaloa, from which you continue by tuk-tuk or bus, roughly 30 to 40 minutes.
How long does it take from Colombo to Sigiriya by bus?
Roughly five to six hours in total, including roughly four to five hours to Dambulla and the local connection to Sigiriya. Traffic leaving Colombo can add time, so leave early in the morning.
How do I get from Kandy to Sigiriya by bus?
Take a bus from Kandy to Dambulla, roughly two to three hours, then a local bus or tuk-tuk to Sigiriya. The whole journey usually takes three to four hours including the change.
How do I get from Dambulla to Sigiriya?
By local bus or tuk-tuk. The distance is roughly 20 kilometres and the journey takes 30 to 40 minutes. Local buses can be infrequent late in the day, so a tuk-tuk is the reliable fallback.
Can I get from the airport to Sigiriya by public transport?
Yes, but it is long: a bus towards Negombo or Colombo, a long-distance bus towards Dambulla and a local connection. Many travellers spend the first night in Negombo and continue by bus the next morning.
Is public transport to Sigiriya safe?
Generally yes. Buses are crowded and driven fast, but they are widely used and safe for travellers. Keep valuables secure, keep luggage manageable and allow extra time for connections. Travelling in daylight makes connections easier to manage.

