Lieutenant-Colonel Jonathan Ponce said that soldiers killed about 20 fighters and that dozens more were wounded during an eight-hour battle on Friday near the Liguasan marsh area.
"We recovered mangled bodies in the area," he said.
"Some bodies were hanging on tree tops. They got hit by our artillery shelling. But we lost seven men and five were also wounded."
Troops were still on clearing operations and were chasing remnants of an 80-member group camping in the area, Ponce said.
"Based on our intelligence, this group was planning to attack villages so we pre-empted them," he said.
Nearly 500 people have been killed in clashes since August last year when peace talks between the government and the MILF stalled after Manila's high court scrapped a proposed deal to cede a larger ancestral homeland for Muslims in the south.
Fighters attacked Catholic-dominated towns in Mindanao, killing dozens of civilians before government troops launched an offensive that forced peace monitors from Brunei, Libya, Japan and Malaysia to withdraw to safety.
Later, the Malaysians pulled out when the talks collapsed.
The Philippines is now trying to restart talks and has formed a new peace negotiating panel. Malaysia is expected to mediate between the government and the MILF.
The group has been fighting for self-determination for nearly 40 years. The conflict has claimed 120,000 lives and displaced two million people.
At the height of fighting last year, nearly 700,000 people were also forced to abandon their homes and farms.