Eyewitnesses said they had seen bodies inside the bus, which had shrapnel marks all over it.
"I was standing in the middle of the bus when there was a loud noise and the whole bus toppled to the side," office worker Shanika Priyadharshani told AFP news agency.
"I blacked out for a while. There was black smoke, people were dead around me. I shouted for help and someone pulled me out."
The attack in the central hill district of Kandy also targeted a crowded commuter bus. A police spokesman said the device had been placed inside the vehicle.
President Mahinda Rajapaksa accused the rebels of "outrageous brutality" and a lack of respect for human life.
There was no immediate word from the Tamil Tigers, who routinely deny any role in such blasts.
The rebels are blamed for a spate of recent bomb attacks in and around Colombo, mainly targeting buses and trains.
Dozens have been killed and many more wounded.
Advertisement
The damaged bus at the scene of the explosion
The latest attacks follow accusations by the rebels that the military are behind roadside bombings which have killed many civilians in the country's rebel-held north.
The rebels blame the military for the deaths of two civilians in rebel-held territory this week, and 20 others during May.
Government officials deny the allegations.
Fighting
Sri Lanka's civil war has intensified since the government formally ended a ceasefire with the rebels in January. In practice, the truce had been dead for months.
In the north of the island the military is carrying out an offensive which it says is aimed at crushing the rebels by the end of this year.
Troops drove the Tamil Tigers from strongholds in the east last year.
The rebels have fought for a generation for an independent state for the Tamil minority in the island's north and east.
About 70,000 people have been killed since the civil war began in 1983.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.
Bookmark with:
What are these?