The ship caught fire just before reaching the port of Real in Quezon province, about 60 km (37.28 miles) east of the capital Manila. It had left Polilio Island at 5:00 a.m. local time (2100 GMT Sunday) and made a distress call at 6:30 a.m.
Five women and two men had died, while 120 passengers had been rescued, with 23 of them treated for injuries, the coast guard said in a statement.
It was not immediately clear the cause of the fire, but the Philippines, an archipelago of more than 7,600 islands, has a poor record for maritime safety, with vessels often overcrowded and many vessels ageing.