Helmand provincial Gov. Assadullah Wafa said Taliban fighters sought shelter in villagers' homes during the fighting in the Sangin district Tuesday evening, and that subsequent air strikes killed 21 civilians, including several women and children.
The U.S.-led coalition said militants fired guns, rocket-propelled grenades and mortars at U.S. Special Forces and Afghan soldiers on patrol 15 miles north of Sangin.
Maj. William Mitchell, a spokesman for the U.S.-led coalition, said troops killed a "significant" number of militants.
"We don't have any report of civilian casualties. There are enemy casualties — I think the number is significant," Mitchell said without releasing an exact figure.
A resident of the area, Mohammad Asif, said five homes in the village of Soro were bombed during the battle, killing 38 people and wounding more than 20. He said Western troops and Afghan forces had blocked people from entering the area.
Death tolls in remote battle sites in Afghanistan are impossible to verify. Taliban fighters often seek shelter in Afghan homes, leading to civilian casualties, and it is often difficult to determine if people killed in such air strikes were militants or civilians.
The battle left one coalition soldier dead, the U.S. military said. The military did not release the soldier's nationality, but it was likely an American Special Forces soldier.
Sangin, a militant hotbed in the heart of Afghanistan's biggest opium poppy region, has been the site of heavy fighting in recent weeks.
The soldier's death brings to 48 the number of NATO or coalition soldiers who have died in Afghanistan this year.
The report of civilian casualties comes less than a week after Afghan officials said that 51 civilians were killed in the western province of Herat.
It also comes one day after the U.S. military apologized and paid compensation to the families of 19 people killed and 50 wounded by U.S. Marines Special Forces who fired indiscriminately on civilians after being hit by a suicide attack in eastern Afghanistan in March.
Afghanistan's upper house of parliament on Tuesday passed a bill calling for a halt to all international military operations unless coordinated with the Afghan government, action seen as a rebuke of the international mission here.