Lieutenant-Colonel Steven Stover, spokesman for the US army, said that fighting started when a US patrol was targeted with small-arms fire that wounded one soldier.
"As the soldier was being evacuated, a US vehicle was struck by two roadside bombs, small-arms fire and rocket-propelled grenades," Stover said.
"The attack damaged the vehicle and wounded three other soldiers."
Stover said that in a separate attack another US vehicle was damaged by a roadside bomb.
Residents of Sadr City claimed that US forces launched two air attacks in the area, that damaged four houses.
However, Stover denied the charge, saying a sandstorm had grounded US helicopters.
He said that US forces used only rockets against the militia.
"It was these militants who initiated the engagement by attacking US soldiers," Stover said.
Colonel Allen Batschelet, commander of the US forces, said: "The enemy continues to show little regard for innocent civilians, as they fire their weapons from within houses, alleyways and rooftops upon our soldiers."
Iraqi and US forces have been fighting members of the al-Mahdi Army, a militia loyal to Muqtada al-Sadr, in Sadr City since last month, with about 480 people killed to date.
At least 18 US soldiers have died in Baghdad since the fighting started.