Nineteen US soldiers have been killed in an explosion at a US military base in Mosul, making it the worst single incident for the US military in Iraq.
Soldiers had just sat down for lunch when the tent was hit
At least three other people died and more than 60 were injured in the attack on a dining tent at noon (0900 GMT).
The US reported a single blast at Camp Merez, south-west of the city, which militants claimed as a suicide attack.
US President George W Bush offered his condolences but stressed that troops had a vital mission of peace in Iraq.
He said that it was sorrowful when lives were lost at any time of year but particularly in the week before Christmas.
Speaking at the Walter Reed Army Medical Center in Washington DC, he said the violence should not affect elections scheduled for January.
"I'm confident democracy will prevail in Iraq," he said.
A statement attributed to the Ansar al-Sunna militant group on an Islamist website said one of its suicide bombers had carried out the attack.
Lt Col Paul Hastings, a spokesman for Task Force Olympia in northern Iraq, said it was unclear whether a mortar or explosives had been used.
Witnesses said they heard several explosions and saw smoke rising from the base.
One US officer, Capt Brian Lucas, told AFP news agency that three foreign military personnel had been killed along with the 19 Americans. Casualty accounts had initially referred to a number of Iraqi civilians being killed.
OPINION POLL IN THE US
56% say the cost of the Iraq conflict outweighed its benefits
A slight majority believe the war has contributed to the long-term security of the US
70% say these gains have come at an "unacceptable" cost in military casualties
Source: ABC News/Washington Post (20 Dec 2004)
The BBC's James Reynolds, who was embedded with US troops at the base last month, says the dining hall has always been seen as vulnerable.
A US army colonel had told him he feared what would happen if insurgents managed to fire rockets into it.
The hall was shielded by towering concrete walls - but it had no protected roof. The army is building a more fortified dining hall nearby, our correspondent adds.
Before Tuesday's attack, the worst single incident for the US military in Iraq was a helicopter crash in Mosul in November 2003, which killed 17 soldiers.
The two Black Hawk helicopters collided as they took action to avoid ground fire.
Spate of attacks
The Mosul attack came as UK Prime Minister Tony Blair made an unannounced visit to Baghdad, 370km (250 miles) to the south.
It was his first trip to the capital, where he held talks with interim Iraqi Prime Minister Iyad Allawi and other officials.
In other developments:
- Two French journalists held hostage in Iraq since August are freed
- Gunmen assassinate a local government official in Diyala province on his way to work
- An ABC News/Washington Post poll released on Monday suggest a majority of Americans now believe the war in Iraq was not worth fighting.
Mosul, Iraq's third biggest city, has experienced a spate of attacks since the middle of November, when insurgents overran police stations, looting weapons.
Much of the city centre is off limits to Iraqi security forces and US troops, who have been the target of daily attacks during the last month.
Ansar al-Sunna has claimed a string of attacks on Iraqi security forces and foreign workers, often taking hostages and murdering them.