Philippines army Captain Alberto Caber said the four were taken at gunpoint during a raid late on Monday night on the Oceanview resort on Samal island, near Davao City, the largest city on Mindanao island in the restive southern Philippines.
Military and police officials were surprised by the latest attack, which came as a reminder of volatile security in the south despite recent peace initiatives with Islamist rebels.
The Davao region has been relatively peaceful for more than a decade. In 2014, a peace agreement with the largest Muslim rebel group in the south ended 45 years of conflict that had killed about 120,000 people and displaced 2 million.
"Four people were taken but we do not know what group was behind the attack," Caber told reporters. He said there were about 30 foreign tourists at the resort at the time of the raid.
"It appeared the foreigners were the targets, they were not taken at random," he said.
Caber said the abducted foreigners were identified as John Ridsdel and Robert Hall from Canada and Kjartan Sekkingstad, the Norwegian manager of the resort. The Filipino woman was not identified.
Military sources said the gunmen spoke English and Tagalog, the language spoken widely in the Philippines.
"Two Japanese tourists tried to intervene but failed," one of the sources said. The gunmen fled towards the Mindanao mainland with their captives, the source said.
Three navy ships were sent to search and intercept the gunmen's boat, while ground units were also alerted to locate possible landing sites in southeastern Mindanao, an army commander said.
In 2001, al Qaeda-linked Abu Sayyaf Islamist militants tried but failed to kidnap foreign tourists on Samal island's Pearl Farm resort. Three security men died fighting the attackers.