Rescue boats picked up nearly 50 people from the ferry as it began to sink following the collision, coast guard spokesman Commander Armand Balilo said.
Our search teams have found three bodies, but we continue to search for two dozen still missing, he told reporters.
The weather was clear at the time of the accident and officials said they would investigate what caused the collision.
Ferries are an important mode of transport in the Philippines, an archipelago of more than 7,100 islands. But, accidents are common because if overcrowding, poor maintenance and tropical storms.
(Reporting by Manny Mogato; Editing by Sanjeev Miglani)