Haima hit coastal towns facing the Pacific Ocean with sustained winds of 225 kilometres (140 miles) an hour
One of the most powerful typhoons to ever hit the Philippines killed at least four people as it destroyed houses, tore roofs off schools and uprooted giant trees on Thursday.
Super Typhoon Haima struck late on Wednesday night with winds similar to those of catastrophic Haiyan in 2013, which was then the strongest storm to strike the disaster-prone Southeast Asian archipelago and claimed more than 7,350 lives.
Haima then roared across mountain and farming communities of the northern regions of the main island of Luzon overnight, causing widespread destruction and killing at least four people who were buried by landslides, authorities said.
"The winds were so strong. They blew away our roof," said Crecy Ramos, 46, a street stall owner in Ilagan, one of the main northern cities with a population of 130,000 people, as she started to repair her ramshackle home on Thursday afternoon.
"Everyone in our community had their roofs blown away."
Haima hit coastal towns facing the Pacific Ocean with sustained winds of 225 kilometres (140 miles) an hour, and wind gusts of up to 315 kilometres.
It weakened overnight as it rammed into giant mountain ranges and by Thursday morning had passed over the western edge of Luzon and into the South China Sea, heading towards southern China.
Jefferson Soriano, mayor of Tuguegarao, the capital of Cagayan where Haima made landfall, reported badly damaged schools and gymnasiums where people had sought shelter.
"They are calling for help because the roofs have been torn off. The problem is, our rescuers here are unable to go out and help," Soriano told DZMM radio before dawn while the storm was still raging.
President Rodrigo Duterte said on Wednesday night all possible preparations had been made for Haima, with tens of thousands of people evacuated, but he still struck an ominous tone.
"We only pray we be spared the destruction such as the previous times, which brought agony and suffering," Duterte said in Beijing, where he was on a state visit.
"But we are ready. Everything has been deployed."
About 10 million people across the northern parts of Luzon were at risk, the government's disaster risk management council said on Wednesday.
Authorities said two of those killed, aged 16 and 17, were buried in a landslide while sleeping in a house in Ifugao, a mountainous area that is home to stunning stepped rice terraces that are listed by the United Nations as a World Heritage site.
Two other people were buried in a shanty in another mountainous region, and one person was missing, the disaster risk council's division in the northern Philippines reported.
The Philippine islands are often the first major landmass to be hit by storms that generate over the Pacific Ocean. The Southeast Asian archipelago endures about 20 major storms each year, many of them deadly.
The most powerful and deadliest was Haiyan, which destroyed entire towns in heavily populated areas of the central Philippines in November 2013.
The capital of Manila is about 350 kilometres south of where Haima struck land.
However the city, with about 12 million people, was not affected, hit only by moderate winds overnight and little rain.
Haima was the second typhoon to hit the northern Philippines in a week, after Sarika struck on Sunday claiming at least one life and leaving three people missing.
In Hong Kong, the city' seven million resident were preparing for more heavy rain and disruptive weather as Typhoon Haima approached, following days of monsoon downpours.
Airlines in the regional travel hub warned of likely flight disruptions on Friday and Saturday.