Typhoon Bopha smashed into the Philippines on Tuesday uprooting trees and power lines and forcing more than 40,000 people to cram into shelters to escape the strongest storm to hit the country this year.
Three people were hit by falling trees and another person had a heart attack as the typhoon lashed Mindanao island in the south of the country, said civil defence chief Benito Ramos, adding that their condition was not known.
One other person was reported missing on the central island of Leyte after Bopha made landfall on Mindanao's east coast at dawn, bringing driving rain and packing gusts of up to 210 kilometres (130 miles) an hour, he said.
"So far, casualties have been minimal. We attribute this to the cooperation of our people and the efforts of local officials," Ramos told reporters.
Eighty flights were grounded and more than 3,000 ferry passengers stranded as the coast guard ordered vessels to stay in port, the civil defence office said.
Winds blew roofs off some buildings and residents of coastal and low-lying communities moved into shelters as floods hit some areas, according to residents and AFP reporters.
More than 41,000 people had moved into nearly 1,000 government shelters across Mindanao by early Tuesday, the civil defence office said.
Large parts of the island, which is not normally hit by typhoons, were without power after supplies were shut down to cut the risk of fires and electrocutions, said Liza Mazo, regional civil defence official.
People living in the path of the storm were doing what they could to protect their homes and possessions.
"We have taken our pigs and chickens inside our house because their shed might be destroyed," 46-year-old shopkeeper Marianita Villamor from the farming town of San Fermin on Mindanao's east coast told AFP by telephone.
Villamor said her relatives who lived in a nearby coastal area had joined hundreds of other families who moved into temporary shelters including schools and other government buildings late Monday.
In Tagum, a city of 243,000 people, hotel waiter Edgie Atilano, 23, said he and his family hunkered down in their home as Bopha bore down.
"At 3:00 am we were woken by strong rain and howling winds. Trees and branches started snapping off near the house," said the father-of-two, who added that nearby roads were blocked with fallen trees.
"This is my first time to experience a strong typhoon. It was a bit scary," he added.
The commercial centre of Cagayan de Oro, a city of 600,000 people, was hit by flooding as rivers overflowed.
City mayor Vicente Emano said on ABS-CBN television that police forcibly evacuated residents of low-lying areas Tuesday after they refused to join some 25,000 others who had sought refuge at government shelters.
"There were people who refused to leave their homes yesterday. Now those areas are under code red (flood risk) so I ordered the police to go and force them to leave because these areas could soon be flooded," Emano added.
Schools were shut in Mindanao and across large areas of the central Philippines, with some of the schoolrooms serving as evacuation centres or to store relief supplies.
The storm weakened slightly after making landfall and was moving northwest. It was expected to brush the southern tip of the island of Negros, bringing heavy rains although no evacuations had yet been ordered there.
The Philippines is battered by about 20 typhoons a year, with 1,500 deaths recorded last year from cyclones that affected nearly a tenth of the total population by government count.