KANDAHAR, Afghanistan - Air strikes called in by U.S. Special Forces soldiers fighting against insurgents in southern Afghanistan killed at least 21 civilians, an Afghan official said yesterday. U.S. officials said they had no reports of civilian casualties. One coalition soldier was killed.

Helmand province Gov. Assadullah Wafa said that 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.

Afghan President Hamid Karzai has repeatedly said more must be done to prevent civilian casualties during military operations. He warned last week, after reports that 51 civilians were killed in the west, that Afghanistan "can no longer accept civilian casualties the way they occur."

On Tuesday, a U.S. Army commander apologized to Afghan families for the March deaths of 19 civilians, calling the killings unjustified. The families were also given $2,000 in condolence payments.

In the clash Tuesday evening, the U.S.-led coalition said enemy fighters 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," Mitchell said.

More than 200 Taliban fighters gathered during the 16-hour fight, said Maj. Chris Belcher, another coalition spokesman.

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 Taliban or civilians.

A purported Taliban spokesman, Qari Yousef Ahmadi, said the group would "take revenge" for the killing of 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 a U.S. Special Forces soldier.