"The bomber was on foot and blew himself up as he got close to the soldiers who were returning from a football ground," Major-General Waheed Arshad, the Pakistan military spokesman, said.
Investigators later recovered the severed head and legs of the bomber.
"He is clean-shaven and appears to be 19 or 20 years old," a police official said.
The attack occurred near an army-run school where Muslim fighters in recent months have made repeated attacks.
The attacks have been cited by Pervez Musharraf, the Pakistan president, as among reasons for imposing a state of emergency on November 3.
On Saturday, hours after lifting emergency rule and restoring the constitution, Musharraf said the government had "broken the back" of the uprising.
More than 400 people have been killed in suicide-bomb attacks in Pakistan in recent months, most in the NWFP.
Many fighters took refuge in remote northwestern area on the Afghan border after US-backed forces ousted the Taliban in Afghanistan in 2001.
The men have been conducting raids into Afghanistan and Pakistan from their mountain strongholds.
In another development, fighters in North Waziristan tribal region on the Afghan border, have announced a two-week ceasefire.
"There will be no roadside blasts, no attacks on the army from our side until December 31," Gul Bahadar, a fighters' spokesman, told Reuters news agency by telephone from an undisclosed location.
He did not say why were they doing it.