Kurdish forces lose more territory to Iraqi forces in disputed area of northern Iraq, army says.

Iraqi forces have reportedly seized control of a town in the Kurdish oil-rich province of Kirkuk, capping a dramatic week of manoeuvres that saw the Kurds handover territory across the north and east of the country.

The federal army, backed by Shia militias, said they seized control of Altun Kupri, some 40km south of Erbil on Friday after fierce fighting broke out between Iraqi and Kurdish Peshmerga forces.

"Iraqi federal police and counterterrorism forces, along with Hashd al-Shaabi fighters, have deployed in - and imposed security on - the sub-district," the Iraqi defence ministry said in a statement.

"Altun Kupri is now under the total control of federal forces," the statement added.

Thick plumes of smoke could be seen in the distance, and hospitals confirmed receiving wounded people, our correspondent added.

"People are fleeing the fighting with everything they own - even transporting their cows."

The reported control of Altun Kupri is part of an operation launched on Monday, on the orders of Iraqi Prime Minister Haider al-Abadi, to retake disputed areas between Baghdad and the Iraqi autonomous region governed by the Kurdistan Regional Government (KRG).

Iraqi troops and allied militia retook the northern province of Kirkuk and its lucrative oil fields on Monday and Tuesday, as well as formerly Kurdish-held areas of Nineveh and Diyala provinces - all outside the KRG region.

Al-Abadi said Kurdish hopes for an independent state were now "a thing of the past".

Since Baghdad started its operation in the disputed areas, its forces have captured most territory without clashes from the withdrawing Peshmerga.

The Peshmerga seized Kirkuk, Iraq's second oil hub, in mid-2014 when Iraqi troops withdrew from the advancing Islamic State of Iraq and the Levant (ISIL, also known as ISIS) group.