Brigadier Prasad Samarasinghe, a military spokesman, said that the bus was near the town of Ampara, about 220km east of the capital Colombo, when the blast went off.
The bus had stopped at a military checkpoint and most of the passengers descended from the bus while troops searched the vehicle.
As the soldiers were carrying out their search the bomb exploded, Samarasinghe said.
The Tigers denied involvement in the attacks, saying they suspected the government or a splinter group of former rebel comrades called the Karuna faction, which analysts say are helping the military.
N Selvy, a spokeswoman for rebel humanitarian issues, said: "We deny this allegation. The LTTE has never targeted civilians during the ceasefire agreement period".
Selvy was referring to a 2002 peace pact - which is now dead on the ground.
"This bus blast has happened near a Sri Lankan army checkpoint. There are several forces working aginst the LTTE [Liberation Tigers of Tamil Eelam]. In the east there is the Karuna faction, or maybe it's the Sri Lankan army trying to discredit us by killing civilians."
She accused troops of ruining ethnic Tamil farmland in Ampara in a separate incident by destroying a reservoir and flooding surrounding paddy fields.
Ampara was the scene of bitter fighting last month between government forces and the rebels as the army fought to oust the rebels from bases they hold in the east.
There was no immediate claim of responsibility for the bombing.
The Liberation Tigers of Tamil Eelam rebels have been fighting the government since 1983 to create an independent homeland after decades of discrimination by the Sinhalese-dominated state.
The Tamils are a 3.1 million-strong minority living mostly in the north and east of the island. At least 69,000 people have died in the violence.