The boys, Samu Perez and Filo Filo, both aged 15, and Edward Nasau, 14, disappeared while attempting to row between two islands in the New Zealand territory of Tokelau in early October.
They were given up for dead after an extensive search involving New Zealand's air force.
Their craft had drifted 800 miles to a desolate part of the Pacific north-east of Fiji, when the crew of a tuna boat saw them frantically waving for help yesteday .
"In a physical sense, they look very physically depleted, but mentally… very high," Tai Fredricsen, first mate of the San Nikuna, told New Zealand Radio yesteday.
"We drew up next to them, and we asked if they needed any help and their reply was a very ecstatic 'yes'," Mr Fredricsen told the BBC.
"We immediately deployed our rescue craft and got them straight on board and administered basic first aid."
The rescue came not a moment too soon: Mr Fredricsen said the boys had begun to drink sea water because it had not rained over the past few nights.
It was also reported they survived by eating a seagull that had landed on their boat.
Mr Fredricsen said the teenagers were dehydrated, sunburnt and very thin, but otherwise seemed OK. The boys were due be taken to a hospital in the Fijian capital of Suva.