A ferry with more than 350 people on board sank in the southern Philippines after midnight and rescuers have saved at least 215 passengers and retrieved seven bodies, officials said Monday.