The most severely affected area was the province of Zambales, about 80 kilometres northwest of Manila where heavy rains caused rain-soaked soil to cascade down, killing 17 people in different parts of the province, said assistant civil defence director Nigel Lontoc.
"They were surprised by the rain. It happened before dawn so they might have been asleep at the time," he told AFP.
"This is mountainous area and there are many houses on the slopes. The rain must have really weakened the soil," he added.
The mayor of Subic town, Jay Khonghun, where the majority of victims died, said the heavy rains and chest-deep floods had isolated the town of 160,000.
Also Read
Although many people were rescued, about a hundred remained trapped on their rooftops by the rising waters, he said.
Government employee Cristina Humbert, 35, said the ground floor of her two-storey home had been flooded but she managed to evacuate with her 63-year-old mother to higher ground.
"Many are on the rooftops, waiting for help. They are marooned, and are getting hungry and cold. We have no power, no electricity," she told AFP.
"We are appealing for rescuers, equipment, diggers, we need relief goods. We need help from the national government, please send in inflatable boats," he said.
Classes were called off throughout the Philippine capital and surrounding areas due to flooding that reached more than five feet (1.5 metres) in some places, said Myrna Puzon, an officer at the National Disaster Risk Reduction and Management Council.
In the city Olongapo, neighbouring Subic, local officials put up ropes across flooded streets so people could hold on to them to keep from being swept away by strong currents, eyewitnesses said.
Olongapo City Mayor Rolen Paulino asked US ambassador Harry Thomas to send some of the US Marines now in the Philippines for joint war games, to help in relief efforts, his spokesman said.