District police chief Mohammad Nor Rashid told AFP that the accident occurred at about 1:30pm (0530 GMT) as the wooden boat carrying 29 mainly Singaporean tourists headed back to the mainland from Sibu island, where they had been fishing.
"Our reports indicate that there were 19 Singaporeans, one Chinese national and nine Malaysians on board the wooden boat when it capsized because of high waves, near the mainland's jetty, " Mohammad Nor said.
"Three Singaporeans died in the accident and everyone has been accounted for except two other Singaporeans who are missing. We are now carrying out a search and rescue for them," he added.
The boat's captain and owner had been detained for pending further investigations, Nor said, adding that early indications show there were no life jackets on board.
The accident was the second major tragedy to affect tourists in Malaysia in a week.
Last Monday, 28 mainly Thai tourists were killed in an accident when the driver of their bus lost control near a sharp bend, crashing through a road divider and overturned into a ditch.