Police cordoned off the site and an investigation was under way, a police officer said.
Comment from the Tamil Tigers could not immediately be gained.
The officer said initial reports suggested that the explosion may have come from inside the bus when it was parked at the Dambulla bus station, a key transit point for people travelling in the region.
Reuters news agency reported that the bus was carrying Buddhist pilgrims to Anuradhapura, where a festival was being held. The bus had stopped in Dambulla to pick up more passengers.
The day before the blast the military had attacked Tamil bunkers along the northern front lines. The ensuing battle ended with 10 Tamil fighters and two soldiers dead.
The attack came as Sri Lanka stepped up security ahead of Monday's celebrations to mark the country's 60th anniversary of independence from Britain.
The Tamil Tigers are fighting for a separate homeland for minority Tamils in the north and east of the island.
Clashes between them and government troops have escalated since a six-year truce was scrapped on January 16.
The two-decade conflict has killed an estimated 70,000 people.