Four people had swum about 100 metres in strong current to reach them.
"Three of the people who came out to help the rescue from the shore were solely trying to keep one guy afloat," Westpac Rescue Helicopter crewman Mark Cannell said.
"He was extremely fatigued, he wasn't able to tread water or keep his head above the water by himself. We were extremely concerned that he may get into further trouble so we decided to winch extract him."
A paramedic with flotation devices was lowered into the water to help the others, while the man was lifted out of "serious trouble" and into the chopper. Rescuers had to cut fishing lines and hooks from around his body before they could get him inside the aircraft. It was not known if they had hindered his ability to keep himself afloat, although it "certainly wouldn't have helped the situation", Mr Cannell said.
The man was taken to Auckland City Hospital in a moderate condition, as he was very cold and not speaking, and showing signs of breathing difficulty, he said.
The rescue was over within 30 minutes, but it could have ended very differently.
"I'm in no doubt whatsoever that if he didn't have a life jacket on it would have been another fatality," Mr Cannell said.
The two men were in a recently purchased boat, but it was "not sea worthy", he said.
"I understand it had a hole in it and they decided to take it out anyway.
"Fortunately they had the foresight to have life jackets and to have them on."
Mr Taylor said police received a call around 5.30pm, of men screaming for help and clinging to the boat.
"One was trying to swim and one was still with the boat," he said.
He described the men as "lucky" to have survived.
Fire, police and ambulance officers attended to people on shore, off Aldersgate Rd in Hillsborough.
It is believed the boat was still in the water last night.