The fighting is a stark reminder of decades-old grievances in the country despite strong economic growth and an agreement with the biggest Muslim rebel group that was meant to secure peace.
The army said at least 62 people have been killed, including 51 of the independence-seeking rebels and five civilians.
The fighting has largely been in three coastal districts of Zamboanga City on the island of Mindanao where around 70,000 residents have been displaced.
Soldiers traded mortar and machine gun fire with the rebels, who are from a breakaway faction of the Moro National Liberation Front, while two helicopter gunships fired rockets at their positions.
Lieutenant-Colonel Ramon Zagala defended the use of helicopters despite the fact rebels are holding dozens of civilian hostages in the area.