The boys — two 15-year-olds and a 14-year-old — disappeared while attempting to row between two islands in the New Zealand territory of Tokelau in early October 2010 and were given up for dead after an extensive search involving the country's air force.
Their craft had drifted 800 miles (1,300 kilometers) to a desolate part of the Pacific northeast of Fiji, when the crew of a tuna boat saw them frantically waving for help on Wednesday afternoon.
"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 on Thursday.
The rescue came not a moment too soon: Fredricsen said they had begun to drink sea water because it hadn't rained in the past few nights.
Local media also reported that the boys survived by eating a seagull that had landed on their boat.
Fredricsen said the boys were dehydrated, sunburned and very thin, but otherwise seemed OK. The tuna boat's crew gave them small portions of fruit and fluids.
The boys will be taken to a hospital in the Fijian capital of Suva on Friday.