Two men are lucky to be alive after their tinny collided with a harbour marker, throwing one into the water.
The tinny crashed into the marker at Runaway Bay on the Gold Coast about 5am on Friday.
The impact threw one man overboard and trapped the other in the boat before it crashed into a moored catamaran.
Catamaran skipper David Crossley said he was woken by a roaring engine and heard a bang.
"I ran up on the deck and (the boat) was going around and around in circles," he told reporters on Friday.
He initially thought the tinny was unmanned before seeing an injured man on board.
Mr Crossley jumped in his dinghy and towed the tinny to South Stradbroke Island before raising the alarm with emergency services.
The 36-year-old man thrown from the boat managed to swim to shore and was found at Paradise Point after knocking on someone's door and asking for help.
"I don't know how he swam to Paradise Point," Queensland Ambulance's senior operations supervisor Paul Young said.
"It is a fairly good swim to get there and then he walked into a house another 200m across the road asking for help."
He was taken to Gold Coast University Hospital with arm, leg and chest injuries and is in a stable condition.
The 34-year-old man found on the tinny was treated at South Stradbroke Island for significant injuries including a fractured leg, arm and head injuries.
Gold Coast Health confirmed he remained in hospital in a critical condition.
Mr Young said the men are extremely lucky to be alive.
Queensland Police had earlier received confusing reports that two more people may have been on board the boat at the time of the crash.
"We've got conflicting versions," Gold Coast Water Police Senior Sergeant Peter Venz told reporters.
"The gentleman that was onboard the vessel stated there were four people on board. The person who was ejected into the water says there were two people."
So officers spent most of the day searching just in case there were more on board before calling off the operation when no one was located.