A US soldier has been detained in the southern province of Kandahar after he walked off his base and started shooting Afghan civilians, including women and children.
16 people were killed in the attack, and five others seriously wounded, indicating the death toll could rise.
At least three of the child victims were killed by a single shot to the head, the BBC’s correspondent said.
The US service member, whose name has not been revealed, entered three local households in the villages of Alkozai and Najeeban and opened fire at their inhabitants at around 03:00 local time Saturday.
"When it was happening in the middle of the night, we were inside our houses. I heard gunshots and then silence and then gunshots again", a local Abdul Baqi told the AP.
Reportedly, after the massacre the soldier has set the victims bodies on fire.
"I saw that all 11 of my relatives were killed, including my children and grandchildren" Haji Samad told Reuters, adding chemicals had been poured over the bodies and set alight.
The soldier, who surrendered to the US military authorities, is thought to have had a breakdown.
A spokesman of the NATO led International security Assistance Force (ISAF), Justin Brockhoff, confirmed the reports on the incident and expressed a ‘deep regret’, announcing the coalition will investigate the case together with their Afghan counterparts.
The Afghan President Hamid Karzai condemned the attack as the “inhuman and intentional act” and demanded justice.
"When Afghan people are killed deliberately by US forces this action is murder and terror and an unforgivable action," he said.
The incident comes after the burning of copies of the Koran by US soldiers at a NATO base last month, which provoked great outrage in the Muslim world and tensed relations between US forces and their Afghan hosts, resulting in the protests that killed at least 30 people and six US soldiers.