The blast occurred outside a court house, the official said.
"As the people got off the bus, the package exploded.
The bus caught fire," the military official said.
No-one claimed responsibility for the attack but in the past the government has blamed Tamil Tiger rebels fighting for independence for Sri Lanka's minority ethnic Tamils concentrated in the north and east of the island.
Eight people were brought to hospital with minor injuries suffered in the attack, a hospital spokesman told AFP.
The new violence came a day after the defence ministry said war planes had stepped up bombing raids inside Tamil Tiger-controlled territory.
According to the defence ministry, some 1,450 rebels have been killed so far this year.
The military estimates the rebel strength at 5,000