Four people among the 31 on board were still missing, Malaysia’s The Star Online reported.
The captain and a crew member made it to safety earlier yesterday while authorities said others may be drifting in the water waiting to be rescued.
Sabah state’s assistant tourism minister Datuk Pang Yuk Ming told the news website that 25 other individuals had been rescued yesterday afternoon.
“Most of them were picked up from the sea in waters off Labuan,” he said.
They were found in groups of five and ten people, Mr Pang said.
Several Malaysian navy and police ships and at least one plane had been searching for the boat, the Malaysia Maritime Enforcement Agency said.
A maritime official said the rescuers were being hindered by high winds and choppy waters.
The search area is about 400 square nautical miles of the South China Sea.
The captain and a crew member were found on Sunday afternoon between the island of Pulau Tiga and an offshore oil drilling platform, The Star reported.
The boat had left Kota Kinabalu in Sabah state on Saturday morning on its way to Pulau Mengalum, an island about 38 miles west.
The Chinese consulate in Kota Kinabalu said multiple survivors “were reported drifting at sea waiting for rescue,” the official Xinhua News Agency reported.
Chinese state television said the crew reported helping passengers put on life jackets as the boat was sinking, then tried to look for help. Malaysia deployed search-and-rescue ships and helicopters after receiving a call on Saturday night about the boat’s disappearance, Xinhua reported.
Arwin Musbir, the captain of another boat that left for Pulau Mengalum at the same time, told the New Straits Times newspaper he was following the missing boat but lost sight of it shortly after they left. He said he realised it had gone missing only after he arrived at the island.
The maritime agency official said 28 Chinese passengers and three crew were on board the vessel.
Many Chinese travel abroad during the Lunar New Year holiday, which began on Saturday.