The MV Mercraft 2 caught fire just before reaching the port of Real in the province of Quezon, about 60 kilometers (37 miles) east of the capital Manila.
He had left Polilio Island at 5 a.m. local time and made a distress call at 6:30 a.m.
Five women and two men died, while 120 passengers were rescued, including 23 injured, the coast guard said in a statement.
Footage shared by the coastguard showed people wearing life jackets floating in the sea waiting to be rescued, while some were taken to safety by a cargo ship in the area.
Fire and thick smoke engulfed the double-decker passenger ship.
Ships are often old and overcrowded.
In 1987, around 5,000 people died in the world’s worst peacetime maritime disaster, when the overloaded passenger ferry Dona Paz collided with an oil tanker off the island of Mindoro, south of the capital , Manila.
cnn World Gt