Philippine officials say 15 army soldiers have been killed in a clash with Abu Sayyaf extremists in a major offensive in the south.

Military officials said five other soldiers were wounded in fierce fighting Monday that killed at least two militants in Sulu province's mountainous Patikul town, where the Abu Sayyaf have detained many of their kidnapped victims.

It was the largest single-day combat loss under President Rodrigo Duterte, who ordered government troops to crush the Abu Sayyaf militants last week after they beheaded a kidnapped villager whose family was too poor to pay a ransom.

Officials said Monday's battle setback came after troops killed about 21 Abu Sayyaf gunmen, including an influential commander, on Friday and Saturday in assaults that followed the beheading.