Philippines President Rodrigo Duterte declared martial law on the southern island of Mindanao after a fierce bout of fighting between the army and militants linked to Islamic State in the city of Marawi.
Three members of the security forces were killed and 12 wounded, Defence Secretary Delfin Lorenzana told a news conference, as clashes erupted in the wake of what the military said was a raid on a flat where about 15 rebels were hiding.
Lorenzana was speaking in Moscow, where he was accompanying Duterte on an official visit.
Duterte cancelled a meeting set for today with Russian Prime Minister Dmitry Medvedev and planned to cut short his trip, during which he was also due to meet Russian counterpart Vladimir Putin.
The government urged civilians on Mindanao to stay in their homes or flee if it was safe, and the military said reinforcements of an initial 500 soldiers were on the way, but were being hamstrung by rebels blocking roads.
The militants belong to the Maute group, which has pledged allegiance to Islamic State in the Middle East. Previous military offensives against the Maute, based in Lanao del Sur province, have lasted several days.
"There are Maute snipers all around, so the troops are still holding and elements have already joined," Lorenzana.
Fires raged in Marawi but the military and the city's mayor said the situation was now under control.
Witnesses told local television that gunfire was clattering sporadically around the city. Several buildings were on fire, including a church, officials said.