At least 18 people died after an explosion hit a civilian bus in the central Sri Lankan town of Dambulla.
Sri Lankan officials blame Tamil Tigers for the attack
Police said that at least 50 people had also been injured in the blast, which occurred at a bus station.
The bus had stopped on its way from the central town of Kandy to the north-central town of Anuradhapura.
The attack comes amid increased security ahead of celebrations on Monday to mark the 60th anniversary of Sri Lanka's independence from Britain.
Military spokesman Brigadier Udaya Nanayakkara said that Tamil Tiger rebels were to blame for the attack.
There has been no comment from the rebels but they routinely deny such attacks, the BBC's Roland Buerk reports from Colombo.
The Tigers have been fighting for an independent state in the north and east of Sri Lanka since 1983.
The civil war there has intensified since last month, when the government pulled out of a ceasefire with the rebels.
Last weekend 18 people, many of them children, were killed in a bomb attack on a bus in the north-west of the island.
The Tigers blamed the bombing on a clandestine army unit operating behind their lines, but the military denied responsibility.