The attack in the city of Gardez damaged around 30 shops, shattered windows and destroyed the stores closest to the explosion. Three vehicles were damaged, including a taxi blasted by dozens of pieces of shrapnel.
Witnesses said a U.S. convoy appeared to be the target, and Maj. William Mitchell, a spokesman for NATO's International Security Assistance Force, said there were initial reports of injuries to ISAF soldiers, though he didn't have further details.
Six people died at the scene of the blast, police said. Another eight later died at a hospital, said Ghulam Hazrat Majedi, the doctor in charge of the Gardez hospital. He said two of the 31 people injured were in a critical condition.
Afghan soldiers donated blood for the wounded.
Nasar Ahmad, a 30-year-old shopkeeper whose three cousins were seriously injured in the blast, said he saw a U.S. convoy driving through the city just before the explosion.
"I heard a strong blast and then saw a fireball go up," Ahmad said from Gardez' hospital. "For 10 minutes I couldn't hear and I didn't know where I was. I saw a lot of people injured lying in the street."
Shah Mohammad, 19, said everyone killed or wounded by the blast were Afghan civilians.
"The convoy had already passed when the attack happened," he said.
The blast in Gardez comes one day after a suicide bomber in northern Afghanistan killed three German soldiers and seven civilians.
Violence in Afghanistan has increased sharply in the last several weeks. More than 1,600 people, have been killed in insurgency-related violence this year, according to an AP count based on U.S., NATO and Afghan officials. The dead have mostly been militants, but about 300 civilians have also died in the violence.