Most deaths occurred in and around metropolitan Manila, which already was soaked by heavy monsoon rains ahead of the arrival of Typhoon Nesat, which brought more downpours and wind gusts of up to 150km/h.
The typhoon blew out of the Philippines on Wednesday packing winds of 120km/h and was expected to make landfall on China's Hainan Island on Thursday evening or early Friday.
The Philippine disaster agency said 35 people were still unaccounted for and that 108 had been rescued.
Power supply was gradually restored to the downtown area, which was strewn with trash and fallen bamboo pieces washed ashore by storm surges. The Metro Rail Transit also resumed operations.
Huge waves
Some areas were still flooded, including Manila Ocean Park facing Manila Bay and a major thoroughfare, Taft Avenue. The nearby US Embassy, which was inundated on Tuesday, remained closed.
Manila Mayor Alfredo Lim said huge waves as high as coconut trees breached a 20m-long seawall astride a popular promenade, allowing seawater from Manila Bay to rapidly engulf hotels, a hospital, business offices and several blocks of residential areas in waist-deep floodwaters.
"This is the first time that this kind of flooding happened here," said Lim, who began his career in Manila as a tough-talking police officer decades ago.
Strong winds toppled about 40 huge trees around the capital's tourist district and 3 500 people were moved from shantytowns into three school buildings, where they spent the night huddled amid continuing rains.
Emergency repair crews were clearing roads of trees, debris and stalled cars as schools and offices reopened on Wednesday.
The massive flooding came a day after this sprawling, coastal city of 12 million held two-year commemorations for the nearly 500 people killed during a 2009 cyclone, which dumped a month's rainfall in just 12 hours.
The geography of the archipelago makes it a welcome mat for about 20 storms and typhoons from the Pacific each year.
Some residents acted more quickly this time to evacuate homes as waters rose, including in the Manila suburb of Marikina, where 2 000 people escaped the swelling river by flocking to an elementary school, carrying pets, TV sets, bags of clothes and bottled water.
"We can replace things, but not people's lives," said janitor Banny Domanais, arriving at the school with his wife and three young daughters.
Typhoon Nesat hit ashore before dawn on Tuesday in eastern provinces and headed inland just north of Manila with up to 2cm of rain per hour, half that of the storm two years ago, said government forecaster Samuel Duran.