NEAR AL HILLAH, Iraq — On a small road leading to this south-central Iraqi town, American tanks ran into an ambush Tuesday that led to a furious firefight that ended with a smashing defeat for the lightly armed Iraqis. U.S. officials put the number of Iraqi dead in the hundreds.

Out of the dust and haze came a hail of gunfire from Iraqi soldiers who were driving trucks and jeeps and even taxis.

The Iraqi army had been laying in wait for days on this road. As the Americans came north, the Iraqis opened fire with everything they had — automatic machine-gun fire and rocket-propelled grenades. Most of the fire came from buildings alongside the road, and the Americans answered with everything they had — outgunning the Iraqis and leaving hundreds dead.

One American soldier from the 101st Airborne died on the top of a tank when he was struck by a bullet under his arm and beneath his bulletproof vest.

The battle lasted for several hours, with American soldiers calling in artillery strikes and helicopter gunfire. Tuesday, the road was littered with signs of the heavy fighting.

Capt. Brad Lauden said units from his 270th Armored Battalion never trained for this kind of fighting back at their home base in Kansas. “These are desperate people doing desperate things in order to survive,” Lauden said, “throwing everything they have at us.”

But it wasn’t just the regular Iraqi army the U.S. troops took on. U.S. Army commanders were surprised to find Saddam’s elite Republican Guards, too, especially so far south of Baghdad — 65 miles from the capital.