The attack took place on a major road just outside the city on Friday and is the latest in an increasing number of suicide bombings that have killed about 200 people this year.
The 9.45am blast in Kandahar also wounded another Nato soldier and eight civilians. A dozen shops were wrecked.
Vegetables spilled on to a bloodstained Khojuk Baba Road, which was also littered with twisted metal from the vehicle used by the bomber.
The road is a main thoroughfare used to reach outlying villages.
The bomber struck the seventh vehicle of a Nato convoy composed of mainly US soldiers, a Nato official said, but did not divulge the nationality of dead or wounded troops.
He spoke on condition of anonymity because he wasn’t authorised to share the information with media. Most of those killed and wounded were shopkeepers.
Among those injured were two children and a woman, said Masood Khan, a doctor at a local hospital where they were being treated.
Aljazeera reported that one US soldier was killed in the explosion.
The attack damaged two Nato and two civilian vehicles, said Abdul Wasae, a police official at the scene.
Pieces of the vehicle used in the bombing were scattered over the blast site and smoke rose from the scene as firefighters tried to put out the flames. The fronts of 12 shops were damaged.
The soldiers wounded in the blast were taken to a military medical facility for treatment, said Squadron Leader Jason Chalk, a Nato spokesman.
Nato has said clashes with Afghan fighters have decreased in the past month in southern Afghanistan.
However, the alliance also said that on Wednesday Nato and Afghan troops killed 25 fighters in neighbouring Uruzgan province in a battle after a bomb struck their patrol.
A civilian was killed in the crossfire and seven civilians and several Afghan soldiers wounded, Nato said in a statement.
More than 2,500 people, 140 of them foreign soldiers, have died this year, in a campaign by a resurgent Taliban five years after a US-led invasion ousted its government.