The blast went off at a busy roundabout near Colombo's Hilton hotel.
Military spokesman Udaya Nanayakkara said a suspected Tamil Tiger suicide bomber had carried out the attack.
The defence ministry said a motorcycle bomber had rammed the bus killing at least six police officials.
The Tamil Tigers had been blamed for a series of explosions in the capital earlier in the year.
The guerrillas had also been blamed for attacks on civilian targets including buses.
The bombing came as the government was due to appoint a chief minister to the island's eastern province where regional elections were held last week.
Troops drove out the Tamil Tigers from the east helped by a breakaway faction of the group.
The leader of the faction - which now has a registered political party - widely known as 'Pillayan', is a top contender for the chief minister's post.