A bomb exploded near a Roman Catholic cathedral in the southern Philippines on Sunday, killing at least three people and wounding more than two dozen others.

Authorities said Muslim guerrillas were likely behind the attack.

The bomb exploded outside the Immaculate Conception cathedral in Cotabato city as churchgoers walked out after attending Mass. Two passers-by were killed instantly and a third died on the way to a hospital, said regional military commander Maj. Gen. Alfredo Cayton.

The improvised explosive was hidden near a row of food stalls selling roasted pig, Cayton said.

Mayor Muslimin Sema said up to 26 others were wounded, some of them seriously. The wounded included five soldiers who passed by the cathedral in an army van when the device, fashioned from a mortar round, exploded.

TV footage showed four wounded soldiers sitting dazed on the sidewalk and the fifth lying unconscious, face down on the seat of their shrapnel-damaged van.

Sema said one of the suspected attackers apparently ran into the cathedral and a police search was underway.

Sirens wailing

Two bodies lay sprawled near the sidewalk while a stunned woman limped out of a food stall, blood dripping from her right foot. Soldiers helped the wounded into ambulances with sirens wailing.

Army troops with assault rifles surrounded the cathedral and cordoned off nearby streets, footage showed.

Cayton immediately blamed the 11,500-strong Moro Islamic Liberation Front, which has been targeted by a months-long military offensive in nearby Maguindanao province and outlying regions.

There was no immediate reaction from the rebels, who have waged a decades-long battle for self-rule in the southern Mindanao region, homeland of minority-Muslims in this predominantly Roman Catholic country.

Cotabato, about 880 kilometres south of Manila, has been hit previously by deadly bombings blamed on Muslim rebels and extortion gangs.