The bomber detonated an explosives-rigged tanker truck at a checkpoint in the Al-Sinai area which officers had said was retaken more than a week before, killing Major General Faisal Ahmed and three other policeman, and wounding six.

Three other suicide bombers driving military trucks failed to find targets in the same area.

The bombing came after a senior officer told AFP that government forces now hold "more than 70 percent" of the town -- including neighbourhoods in the south, east and north -- and were battling to capture the rest.

An army brigadier general also said that "major progress" has been made in Baiji, and that the Iraqi flag has been raised over important buildings including the police headquarters.

Iraqi forces entered the town, which had been under the control of IS for months, on October 31 after fighting their way up from the south.

Baiji lies on the main highway to Iraq's IS-controlled second city Mosul, and its recapture would also help to further isolate militants in the city of Tikrit to the south.

The Baiji assault could also open the way to breaking a months-old jihadist siege of government forces defending Iraq's largest oil refinery, which is near the town.