Cotabato City police spokesman Christopher Lee told CNN that there was an "IED explosion" in front of South Seas Mall in Cotabato City, Mindanao Island.
A spokeswoman for General Santos City's Civil Defense Bureau, Minda Morante, said two people were killed in the blast with 23 casualties, all of whom were sent to local hospitals.
Jewel Blake H. Lumasag, a local pastor living in Cotabato City, said he was traveling the mall when the explosion hit. He told the CNN police that he had left the area for fear of another bomb.
According to the official Philippine news agency, police are still trying to determine "whether the explosion was caused by an improvised explosive device or by illegal, powerful firecrackers that accidentally fell in the area."
"We saw several wounded and taken to the hospital," Police Supt. Romeo Galgo Jr. told PNA. "We're still doing a follow-up."
In a Facebook post Monday, Cotabato Mayor Frances Cynthia Guiani-Sayadi called the explosion an "act against humanity."
"I strongly condemn the South Seas Mall bombing, one day before the New Year, which has cost several innocent lives and injured a dozen others," she wrote.
"This is not just another terrorist act, but an act against humanity, I can not understand how such an evil exists in this happy time."
History of Terror
Mindanao, a province in the extreme south of the Philippines on the border between Malaysia and Indonesia, has long been plagued by terrorism and riots.
The province has several Islamist insurgent groups, including Abu Sayyaf, responsible for several attacks on civilians and Filipino government forces, as well as for kidnapping several foreigners.
Abu Sayyaf was next to the Maute Group another Mindanao-based terrorist organization responsible for the invasion and occupation of Marawi, the largest Muslim majority in the country, in 2016.
The law, which gives Muslims in the predominantly Catholic Philippines greater independence and autonomy, is the culmination of decades of peace negotiations between Mindanao rebel groups, including the Moro National Liberation Front (MNLF) and the Moro Islamic Liberation Front (MILF) as well as the national government according to CNN Philippines
. Duterte said he would not negotiate with Abu Sayyaf or other militant Islamist groups.
 CNN's Euan McKirdy contributed to the coverage.