Iraqi forces have taken control of the last district in the oil-rich province of Kirkuk still in the hands of Kurdish Peshmerga fighters following a three-hour battle, security sources said.

The district of Altun Kupri, or Perde in Kurdish, lies on the road between the city of Kirkuk - which fell to Iraqi forces on Monday - and Erbil, capital of the semi-autonomous region of Kurdistan in northern Iraq.

Last month Kurds in the region voted in a referendum to secede from Iraq against Baghdad's wishes.

A force made up of US-trained Iraqi Counter-Terrorism Service units, Iranian-backed Popular Mobilisation and Federal Police began their advance on Altun Kupri at 7.30am (5.30am Irish time), an Iraqi military spokesman said.

"Details will be communicated later," the spokesman said in a short posting on social media.

Kurdish Peshmerga forces withdrew from the town of Altun Kupri, located on the Zab river, after battling the advancing Iraqi troops with machine guns, mortars and rocket propelled grenades, security sources said.

It was not immediately clear whether there had been any casualties in the fighting.

The Iraqi forces have advanced into Kirkuk province largely unopposed as most Peshmerga forces withdrew without a fight.

The fighting at Altun Kupri marked only the second instance of significant violent resistance by the Kurds in Kirkuk province since Monday.

Altun Kopri marks the administrative limit between Kirkuk and Erbil. It belongs administratively to the Kirkuk province.

Iraqi forces are seeking to re-establish Baghdad's authority over territory captured by the Kurdish Peshmerga outside the official boundaries of the Kurdistan region in the course of the war on so-called Islamic State militants.

The Peshmerga had moved into Kirkuk after the Iraqi army fled the region in the face of IS's advance in 2014.

The Kurdish move prevented Kirkuk's oilfields from falling into the hands of the militants.

Yesterday, Kurdish officials said thousands of their people had fled Kirkuk fearing persecution since Iraqi armed forces retook it.

The officials said roughly 100,000 people had gone, though that number could not be confirmed independently, and many Kurdish neighbourhhoods in Kirkuk city appeared to be operating normally.

The United Nations voiced concern at reports that civilians, mainly Kurds, were being driven out of parts of northern Iraq retaken by Iraqi forces and their houses and businesses looted and destroyed, and urged Baghdad to stop any such abuses.