Iraqi government forces have entered central Kirkuk, residents say, after taking key installations outside the disputed city from Kurdish fighters.
Witnesses told the BBC they saw federal forces entering the provincial government building.
Clashes were reported south of Kirkuk earlier in the day, while thousands of residents fled the city.
It comes three weeks after the Kurdistan region held a controversial independence referendum.
While Kirkuk is not inside Iraqi Kurdistan, Kurdish voters inside the city were allowed to take part.
Iraq’s prime minister has said the vote – in which residents of Kurdish-controlled areas, including Kirkuk, overwhelmingly backed secession – was unconstitutional.
The Kurdistan Regional Government (KRG) insisted it was legitimate.
US officials said they were “engaged with all parties in Iraq to de-escalate tension”.
Earlier in the day, the Iraqi military said its units had taken control of the K1 military base, the Baba Gurgur oil and gas field, and a state-owned oil company’s offices.
Baghdad said the Peshmerga had withdrawn “without fighting”. However, clashes were reported to the south, and the sound of gunfire was caught by a BBC cameraman as a team filmed near a checkpoint.
The Peshmerga General Command said Iraq’s actions on Monday amounted to a “declaration of war” on the Kurdish people.
Why is Kirkuk disputed?
Kirkuk is an oil-rich province claimed by both the Kurds and the central government. It is thought to have a Kurdish majority, but its provincial capital has large Arab and Turkmen populations.
Kurdish Peshmerga forces took control of much of the province in 2014, when Islamic State (IS) militants swept across northern Iraq and the Iraq army collapsed.
The Iraqi parliament asked Mr Abadi to deploy troops to Kirkuk and other disputed areas after the referendum result was announced, but he said last week that he would accept them being governed by a “joint administration” and that he did not want an armed confrontation.
On Sunday, his cabinet accused the KRG of deploying non-Peshmerga fighters in Kirkuk, including members of the Turkish Kurdistan Workers’ Party (PKK), which it said was tantamount to a “declaration of war”. But KRG officials denied this.