The 'Superferry 9' vessel was carrying about 960 passengers and crew when it set off from General Santos City, on the southern island of Mindanao, for the central city of Iloilo.
"It began listing early on Sunday, Sep 6 morning, prompting authorities to sound a general alert and rush rescue vessels to the area," coastguard commander Admiral Wilfredo Tamayo told reporters.
A total of 870 passengers were rescued and brought ashore on other ships, he said.
Eighty-eight were unaccounted for but most were likely to have been rescued by a fleet of fishing vessels and small boats that also came to the area, he said.
The weather was clear at the time, but the crew had reported problems with the generator, he added.