One US soldier and a British soldier, as well as an American contractor, have been killed after rockets hit an Iraqi military base north of the capital Baghdad, a US military official said.

12 coalition personnel were injured.

It is the deadliest attack on an installation hosting foreign troops in several years and comes after a series of rocket attacks targeting US troops across Iraq as well as the US Embassy in Baghdad.

There has been no immediate claim of responsibility but Washington has blamed Iran-backed factions for similar attacks.

The Iraqi army had earlier said the attack against the Taji base did not wound anyone or cause any damage, in what was the 22nd attack against American military interests in the country since late October.

Previous rocket attacks targeting US soldiers, diplomats and facilities in Iraq in recent months have killed one US contractor and an Iraqi soldier.

Two days after the death of an American in rockets fired on an Iraqi military base in Kirkuk at the end of last year, the US army hit five bases in Iraq and Syria used by the pro-Iran armed faction Kataeb Hezbollah.

Tensions rose further between Washington and Tehran, leading to the assassination in Baghdad on 3 January of the powerful Iranian military commander Qasem Soleimani and an Iraqi paramilitary commander in a US drone strike.

Iran retaliated by launching a volley of missiles at an Iraqi base hosting US soldiers days later.

The US leads an international coalition - comprised of dozens of countries and thousands of soldiers - formed in Iraq in 2014 to confront the Islamic State, a jihadist group that Baghdad declared defeated in late 2017.

While so-called Islamic State has lost its territory, sleeper cells remain capable of carrying out attacks.

The Iraqi parliament voted to expel all foreign soldiers from the country in the wake of the killing of General Soleimani, a decision that must be executed by the government.

The outgoing government, which resigned in December in the face of mass protests, has yet to be replaced due to a lack of agreement in parliament - one of the most divided in Iraq's recent history.