Baghdad regained control of Baiji -- located on the road to ISIS hub Mosul and near the country's largest oil refinery -- last year, but subsequently lost it again.
"Our security forces arrived to the centre of the town of Baiji around 10:30 am (Local) and raised the Iraqi flag," an army major general told AFP.
The officer said that Iraqi forces were shelling "terrorist’s hideouts" in the town with mortar rounds.
A police colonel confirmed that Iraqi forces were making progress, saying they were in control of the city centre and were "advancing toward the northern neighbourhoods of the town."
Security forces are also fighting to push ISIS out of the nearby Baiji refinery, a vast complex, which once produced 300,000 barrels per day of refined products meeting half of the country's needs.
ISIS attacked last June and overran Iraq's second city Mosul then seized much of the country's Sunni Arab heartland.