ALSO READPhilippines drug war: 32 dealers killed near Manila, 100 others in custody 2,000 trapped in Marawi as battle against ISIS intensifies in Philippines Marawi destruction: civilians endure greatest suffering in Philippines city Philippines' 'troll-in-chief'? Duterte admits hiring defenders during polls Rodrigo Duterte turns down US visit; trip to Russia remains unchanged
"I hereby declare the liberation of Marawi," CNN quoted Duterte as saying.
Duterte's announcement comes a day after the army killed Isnilon Hapilon, the self-proclaimed emir of the IS in Southeast Asia and leader of the Islamist rebels in southern Philippines, and Omar Maute
More than 800 militants and 162 government security forces have been killed in the nearly 150 days of fighting since the jihadi extremists took over the Muslim-majority city on May 23, according to General Eduardo Ano, of the Armed Forces of the Philippines (AFP).
During the fighting, about 1,700 hostages were rescued, including 20 on Monday, he added.
The violence forced more than 350,000 residents to flee the city and the surrounding areas, as their homes were reduced to rubble by airstrikes and militant fire.
Duterte declared martial law across the island, which was extended in July until end of year, despite questions over the move's constitutionality.