PHILIPPINE rescuers are searching for more than 200 people missing after a crowded ferry collided with a cargo ship and sank almost instantly in darkness, with 28 already confirmed dead.

The St Thomas Aquinas ferry was carrying 870 passengers and crew when the accident occurred late on Friday night in a dangerous choke point near the port of Cebu, the Philippines' second biggest city, authorities said.

Coastguard and military vessels, as well as local fishermen in their own small boats hauled more than 600 people out of the water alive.

But by early Saturday afternoon, 213 people were still unaccounted for and 28 bodies had been retrieved, according to the coastguard, which warned the death toll would inevitably rise.

"It did not take long, about 10 minutes, before the ferry sank," Rear Admiral Luis Tuason, vice commandant of the coastguard, said on DZBB radio.

"The captain managed to declare abandon ship and they distributed life jackets but, because of the speed by which it went down, there is a big chance that there are people trapped inside."

One survivor, Maribel Manalo, 23, recounted to her brother the horror of suddenly being plunged into the cold water in darkness, and emerging from the chaos without her mother.

"She said there was a banging noise then the boat suddenly started sinking," the brother, Arvin Manalo, said.

"They quickly strapped on life jackets and then jumped into the dark sea. She said they felt like they were pulled under. My sister said she pushed our mother up, but they got separated.

"My sister was rescued. My sister knows how to swim, but my mother does not."

He said their mother, 56, remained missing.

Fifty-eight babies were among the passengers on board the ferry, according to the coastguard, and it was unclear how many of them survived.

The accident occurred at 9pm (2300 AEST) in calm waters near the mouth of the port between two and three kilometres from shore, authorities said.

Tuason said helicopters had been deployed and specialist divers sent to search through the sunken vessel.

Local fisherman Mario Chavez said he was one of the first people to reach passengers after the ferry sank in the 82-metre-deep channel.

"I plucked out 10 people from the sea last night. It was pitch black and I only had a small flashlight. They were bobbing in the water and screaming for help," he said.

"They told me there were many people still aboard when the ferry sank... there were screams, but I could not get to all of them."

The cargo ship, Sulpicio Express 7, which had 36 crew members on board, did not sink.

Television footage showed its steel bow had caved in on impact but it sailed safely to dock.

Tuason said it appeared one of the vessels had violated rules on which lanes they should use when travelling in and out of the port.

The enforcement office chief of the government's Maritime Industry Authority, Arnie Santiago, said the strait leading into the Cebu port was a well-known danger zone.

"It is a narrow passage, many ships have had minor accidents there in the past. But nothing this major," Santiago said.

"There is a blind spot there and each ship passing through needs to give way in a portion of that narrow strip."

The Thomas Aquinas was a "roll-on, roll-off" ferry, which allows vehicles to be driven aboard and is commonly used in the Philippines.

Ferries are one of the main modes of transport across the archipelago of more than 7100 islands, particularly for the millions of people too poor to fly.

But sea accidents are common, with poor safety standards and lax enforcement typically to blame.

The world's deadliest peacetime maritime disaster occurred near the capital, Manila, in 1987 when a ferry laden with Christmas holidaymakers collided with a small oil tanker, killing more than 4300 people.

In 2008, a huge ferry capsized during a typhoon off the central island of Sibuyan, leaving almost 800 dead.

Originally published as Many missing after Philippine ferry mishap