The Iraqi army says it has taken full control of Kirkuk following a major advance on Kurdish-held territories.

The federal government in Baghdad and sources inside the city told Al Jazeera on Monday that Iraqi security forces had captured the governorate building in the centre of Kirkuk city.

According to security forces, troops moved into the building with no opposition from Kurdish Peshmerga fighters.

A dozen Humvees from Iraq's US-trained Counterterrorism Service arrived at the building and took position in the vicinity, alongside the local city police.

There was no immediate comment from Kurdish authorities.

'Complete withdrawal'

The advance was part of a major operation to retake the oil-rich province, amid an escalating dispute in the wake of a controversial September 25 referendum on Kurdish secession that Baghdad had declared illegal.

The Iraqi army said on Monday it had seized control of the city's airport, in addition to an oil field, the strategic K1 military base and the Taza Khormatu district southeast of Kirkuk.

As the Iraqi army advanced, thousands of people, including civilians and Peshmerga fighters, fled the disputed multi-ethnic city, home to about a million Arabs, Kurds, Turkmen and Christians.

Kurdish forces had previously vowed to defend Kirkuk, and for three days they were locked in an armed standoff with Iraqi government troops and allied Iranian-backed paramilitaries known as Popular Mobilisation Forces (PMF) on the outskirts of the city.

"It seems to be a complete withdrawal from the Peshmerga inside and around the city," said Al Jazeera's Charles Stratford, who followed Monday's events from the outskirts of Kirkuk.

He noted that was "really surprising" was the speed with which Kirkuk had fallen as it took Iraqi forces only about 15 hours to capture the city.

"A lot of people were very angry with this withdrawal," Stratford said.

"Standing by the side of the road, there were Peshmerga fighters demanding that their colleagues went back to Kirkuk and continued to try and defend it. Bt there were also a lot of very frightened people desperate to get out as quickly as possible."

'Blame game starting'

There were also signs of divisions among the Iraqi Kurds' two dominant factions, the Kurdistan Democratic Party (KDP) and the Patriotic Union of Kurdistan (PUK), just a day after their leaders put on a show of unity by rejecting a demand by Baghdad to cancel the outcome of the referendum as a precondition for talks.

In a post on Twitter on Monday afternoon, Hemin Hawrami, special assistant to Masoud Barzani, president of the Kurdish Regional Government (KRG) and KDP leader, posted on Twitter what he said was a statement by a main Shia militia group thanking PUK members for their cooperation in helping with the withdrawal from some of the areas around Kirkuk.

Statement from ASAAIB AHL AL HAQ, a notorious sectarian militia on their operation in Kirkuk, they are publically thanking and appreciating PUK leaders collaboration. pic.twitter.com/UFg94hpO42 — Hemin Hawrami (@heminhawrami) October 16, 2017

"The sense of surprise [after Kirkuk's fall] among the KRG must be quite incredible," Stratford said. "It's also interesting that we are beginning to hear the blame game starting," he added.

"There is going to be a lot of soul-searching, questioning and anger among the KRG about exactly how this happened after such a strong rhetoric for days that the Kurds remained united and that they would defend Kirkuk at all cost."

Oil-rich region

Kurdish Peshmerga forces took control of oil-rich Kirkuk after the Iraqi army fled from a major offensive by the Islamic State of Iraq and the Levant (ISIL, also known as ISIS) group in 2014.

Since then, there has not been an agreement between the KRG and the federal government in Baghdad about who should control the area - and benefit from its vast oil wealth.

Tensions between the two sides have been running especially high since Iraqi Kurds overwhelmingly voted for secession in last month's referendum.

The non-binding poll was held in areas under control of the KRG and in a handful of disputed territories, including Kirkuk.

Shortly after the referendum, the Iraqi parliament asked Prime Minister Haider al-Abadi to send troops to Kirkuk and take back control of the region's oil fields.

Kirkuk province is one of Iraq's two main oil-producing regions, believed to have around four percent of the world's oil resources.

It lies outside the official borders of the Kurds' semi-autonomous territory and is home to Kurds, Arabs, Turkmen and Christians.

The vast majority of Turkmen and Arabs who have lived in Kirkuk for generations boycotted the referendum.

"There are many Kurds who call it their Jerusalem," said Stratford, "but there's also considerable opposition among the Arabs and the Turkmen to any idea with respect to Kirkuk being part of a future independent Kurdish state."