The bus hit a mine outside the town of Vavuniya, 250 km (155 miles) north of the capital, Colombo.
Vavuniya is the last government-held garrison town before territory held by the separatist Tamil Tigers, who are suspected of carrying out the attack.
The Tigers have denied responsibility, and blame the military for the bombing.
The injured - including seven soldiers - have been admitted to local hospitals.
A Sri Lankan military spokesman said the bus had hit a Tamil Tiger claymore mine, but the rebels swiftly denied any involvement.
"It is part of series of incidents for the past few weeks continuously happening in the north-east," spokesman Rasiah Ilanthiraiyan said.
"This is a programme of military intelligence people to tarnish the Tigers in the international forum."
The attack was the second in less than a week, after 16 people were killed when a bus was targeted in eastern Ampara district on Monday.
There has been no claim of responsibility for either attack, with the Tamil Tigers denying they were behind the Ampara blast.
Both the Tigers and the military are, officially, still observing a 2002 ceasefire which has become meaningless in practice.
Violence began to increase after the 2005 election of President Mahinda Rajapakse. Since then about 4,000 people have been killed.
In one of the worst incidents more than 60 people - many of them children - were killed in a mine attack the government said the Tigers carried out on a bus in the town of Kabithigollewa, 200km (125 miles) north of the capital, Colombo, last June.
In recent weeks the army has made gains into Tamil Tiger territory in the east.
The Tigers are fighting for a Tamil homeland in the north and east of the island.Güncelleme Tarihi: 20 Eylül 2018, 18:16