MV Mercraft 2 burst into flames shortly before arriving at the port of Real in Quezon province, about 60 kilometers (37 miles) east of the capital Manila.
He left the island of Polilio at 5 am local time and gave a distress signal at 6:30 am.
Five women and two men were killed, 120 passengers were rescued, 23 of them injured, the Coast Guard said in a statement.
Photos shared by the Coast Guard show people wearing life jackets floating in the sea awaiting rescue, some of whom were taken to safety by a cargo ship in the area.
Fire and thick smoke engulfed the double-decker passenger ship.
The ships are often old and overcrowded.
In 1987, about 5,000 people died in the world’s largest peacetime shipping disaster, when the overloaded passenger ferry Dona Paz collided with an oil tanker off Mindoro Island, south of the capital Manila.