News agencies said between 12 and 16 people were injured in the blast outside the Shrine of Santo Nino church in Midsayap in the middle of Mindanao island on Christmas Eve.
Officials said a grenade was lobbed at a police patrol car parked in front of the building, located about 1,600 kilometers (995 miles) south of Manila.
A police officer was among those wounded, along with churchgoers who were standing outside the packed church. They were treated at nearby hospitals.
"The mass was abruptly ended, there were no more concluding prayers as there was a commotion," police Superintendent Romeo Galgo Junior said. "People hurriedly left the church."
Worse attack avoided
Another investigator told the Agence France-Presse news agency that the suspects had wanted to target the church.
"It seems they wanted to get closer, but due to heavy security, they opted to throw the explosive at the police car blocking the road," the officer said.
Authorities were still determining a motive for the attack.
In the past, local terrorist groups with links to al-Qaeda have bombed Catholic churches during the Christmas holidays in the Philippines, where more than 80 percent of the population is Roman Catholic.
Mindanao is home to a Muslim minority, which has seen decades of armed rebellion. However, the main Muslim guerrilla group in the area has signed a ceasefire with the Philippine government.
Government forces continue to fight smaller Muslim armed groups on the island, some of whom have pledged allegiance to "Islamic State" (IS) fighters in Iraq and Syria and have been blamed for bombing civilian targets in the past.
Security forces across Southeast Asia are on alert ahead of the Christmas and New Year holidays, as police in Australia and Indonesia said they had foiled bomb plots and Malaysian security forces arrested suspected militants.
mm/rc (AFP, dpa, Reuters)