Thousands of residents are fleeing the Iraqi city of Kirkuk, as troops loyal to the Baghdad government continue to seize control of key installations from Kurdish forces.
The Iraqi military entered Kirkuk after the Kurdistan region held a controversial independence referendum, aiming to retake areas under Kurdish control since Islamic State militants swept through the region in the north of Iraq.
Kurdish Peshmerga forces have controlled the city since 2014, when the Iraqi forces fled an offensive by Islamic State militants.
The military is reported to have taken over the administrative building in the centre of the city in response to last month's referendum.
Speaking from Kirkuk, New Zealand journalist Campbell MacDiarmid said federal forces had taken control of the city.
"The majority of Peshmerga forces left there without fighting and it was Kurdish citizens with guns who stayed behind to skirmish with some of these advancing Iraqi forces, but they did end up coming into the city and taking control.
"It's quite an ethnically mixed city with a large Kurdish, Arab, and Turkmen population. A lot of the Kurdish families were really worried about potential sectarian violence and were fleeing in their thousands today blocking the roads north for hours, but you also have some Arab and Turkmens who were quite happy to see the Iraqi forces reassert control over Kirkuk, which the Kurds have had since 2014 but the federal government has never relinquished their demand for control of."
He said the fighting was a remarkable display of brinkmanship.
"Baghdad gambled that if it made a big display of force, issued them an ultimatum to leave that the Kurds without support of the international community wouldn't stay and fight over the city."
A convoy of armoured vehicles from Iraq's elite US-trained Counter-Terrorism Force seized Kirkuk's provincial government headquarters, less than a day after the operation began.
Neither side gave a casualty toll for the operation.
But an aid organisation working in Kirkuk said several Peshmerga and members of the Iraqi forces had been killed in an overnight clash south of Kirkuk - the only serious fighting reported.
As Iraqi forces advanced, Kurdish operators briefly stopped 350,000 barrels per day of oil output at two large Kirkuk fields, citing security concerns. But production resumed shortly thereafter following an Iraqi threat to seize fields under Kurdish management if they did not do so, according to the sources.
It was not immediately clear whether or when the Iraqi government would seek to retake control of all Kirkuk oilfields, a vital source of revenue for the autonomous Kurdistan Regional Government (KRG).
The short suspension in production helped push up world oil prices as the shutdown represented more than half of total Kurdish output.
Thousands of Kurds flee
Thousands of Kurdish civilians fled the city of 1 million people for fear of reprisals.
A Kurdish father of four who was driving out of the city towards the Kurdish regional capital Erbil to the north said: "We no longer feel safe. We hope to return to our home but right now we feel it's dangerous for us to stay."
Crowds of ethnic Turkmen - who opposed Kurdish control of the city - were celebrating. Some drove in convoys with Iraqi flags and fired shots in the air.
"This day should become a holiday, we're so happy to have gotten rid of Barzani's party," said a man celebrating on a motorbike, waving the blue-and-white flag of Iraq's Turkmen, referring to the Kurdish leader Masoud Barzani.
The United States called for calm on both sides, seeking to avert an all-out conflict between Baghdad and the Kurds that would open an entirely new front in Iraq's 14-year-old civil war and potentially draw in regional powers such as Turkey and Iran.
The Baghdad central government considers Kurdish independence referendum illegal, especially as it was held not just in the autonomous region but in Kirkuk and other adjacent areas that Kurdish Peshmerga forces occupied after driving out Islamic State militants.
The Peshmerga moved in after Iraqi government forces collapsed in the face of a rapid onslaught by Islamic State, preventing the jihadists from seizing the oilfields.
Iraqi Prime Minister Haidar al-Abadi ordered that the national flag be hoisted over Kirkuk and other disputed areas.
The Peshmerga said Baghdad would be made to pay "a heavy price" for triggering "war on the Kurdistan people".
Baghdad blocks independence
The overnight advance was the most decisive step Baghdad has taken yet to block the independence bid of the Kurds, who have governed an autonomous tract of northern Iraq since the fall of Saddam Hussein in 2003 and voted three weeks ago to secede.
Kirkuk, one of the most ethnically and religiously diverse cities in Iraq, is located just outside the autonomous Kurdish zone.
Kurds consider it the heart of their homeland; they say it was cleansed of Kurds and settled with Arabs under Saddam to secure control of the oil that was the source of Iraq's wealth.
Washington, which arms and trains both Iraqi federal forces and the Peshmerga to fight Islamic State militants, called on "all parties to immediately cease military action and restore calm", according to a US Embassy statement.
"ISIS (Islamic State) remains the true enemy of Iraq, and we urge all parties to remain focused on finishing the liberation of their country from this menace."
US Defense Department spokesman Colonel Robert Manning declined to speculate on whether Washington might cut off military aid and training to Iraqi forces in the event of a major conflict.
The Kurdish secession bid was strongly opposed by neighbours Iran and Turkey.
Washington, allied with the Kurds for decades, pleaded vainly for them to halt a vote that could break up Iraq.
- Reuters / BBC / RNZ