Iraq's military has seized two major oil fields outside the disputed city of Kirkuk from Kurdish forces.
The military said in a statement on Monday that federal forces are now in control of the North Oil Company and Baba Gurgur fields.
Iraqi forces advanced on Kirkuk overnight on Monday, clashing with Kurdish forces on the outskirts.
The city is outside the Kurdish autonomous region but claimed by the Kurds and the central government.
The Kurds and the central government have long been divided over the sharing of revenues from the oil fields outside Kirkuk.
Kurdish forces have abandoned their positions outside Kirkuk's airport and civilians were fleeing in large numbers.
An Associated Press reporter saw the positions abandoned and the civilians fleeing on Monday.
Federal forces had earlier seized an industrial area and a power plant to the south of the city.
The fighting comes amid soaring tensions after the Kurds voted for independence last month in a non-binding referendum rejected as unconstitutional by Baghdad.
Both the Kurdish forces and the federal forces have been armed and trained by the United States, and both are allies against the Islamic State group.
Earlier, Iraqi Kurdish officials said that federal forces and state-backed militias had launched a "major, multi-pronged" attack aimed at retaking the disputed northern city.
The Kurdistan Region Security Council said in a statement that Kurdish forces known as peshmerga had destroyed at least five US-supplied Humvees being used by the state-sanctioned militias following the "unprovoked attack" south of the city.
Tensions have soared since the Kurds held a non-binding referendum last month in which they voted for independence from Iraq.
The central government, along with neighbouring Turkey and Iran, rejected the vote.
The US has supplied and trained Iraqi federal forces and the peshmerga, both of which are fighting the Islamic State group.
The US also opposed the referendum, and has urged both sides to remain focused on defeating the extremists.
The central government and the autonomous Kurdish region in the north have long been divided over oil revenues and the fate of disputed territories like Kirkuk that are controlled by Kurdish forces but are outside their self-ruled region.
The Kurds assumed control of Kirkuk, in the heart of a major oil-producing region, in the summer of 2014, when IS militants swept across northern Iraq and the country's armed forces crumbled.
Baghdad has demanded the Kurds withdraw.
The Kurdish security council said the assault launched late on Sunday was aimed at entering the city and retaking the K-1 military base and nearby oil fields.
State-run Al-Iraqiya TV had earlier reported that federal forces rolled into parts of the countryside outside Kirkuk without facing resistance.
However, some residents of the city and an Iraqi militia commander reported shelling.
Al-Iraqiya carried a statement from prime minister Haider al-Abadi's office saying he had ordered federal forces to "impose security in the city in cooperation with the inhabitants and the peshmerga", indicating he was willing to share administration.