The explosion took place around 5.45 am when the bus was en route to the military base town of Diyathalawa from the northern peninsula of Jaffna, military spokesman Brigadier Sumith Atapattu said.
Seven Army and five Air Force personnel besides seven civilians were injured in the incident, Atapattu said.
The explosion occurred at Kahagolla area in Diyatalawa, local media quoted police as saying. The bus was heavily damaged and the injured were hospitalised.
A statement by the Army's media unit said that police investigations were in progress.
Sri Lanka saw a brutal civil war involving the Liberation Tigers of Tamil Eelam (LTTE) and had witnessed large scale violence during the 30-year-long separatist movement that claimed over 100,000 lives.
Hundreds of security personnel were also killed in the fight till 2009, when the LTTE was finally crushed by the Lankan military with the death of its supremo Velupillai Prabhakaran. There have been hardly any reports of attacks on the military ever since.
Disclaimer: No Business Standard Journalist was involved in creation of this content