Rizal Shahputra, 23, from the devastated province of Aceh, lived off rainwater and coconuts that floated by but apart from some cuts on his legs, appeared amazingly healthy when he arrived in Malaysia's western Port Klang aboard a container vessel, Malaysian officials said on Wednesday.
"When I saw him I was very surprised. He waved at me, he was standing on what looked like a tree," said Huang Wen Feng, crew member of the Malaysian cargo ship that picked him up on Monday evening 185 kilometres out to sea.
Rizal said he was cleaning a mosque when the tsunami struck his village.
"Everybody sank, my family members sank. There were bodies around me," he said.
Huang, whose ship was returning from South Africa, said Rizal was healthy when picked up and had normal body temperature despite the ordeal, but he was later sent to hospital for checks.
It was the second tsunami rescue by Malaysian ships.
On Friday, a Malaysian tuna-fishing boat rescued a 23-year-old woman from Aceh who had clung on to the trunk of a palm tree for five days after being swept out to sea.
More than 94,000 Indonesians have been killed by the 26 December tsunami which followed a massive earthquake beneath the sea off Aceh province, in the west of the Indonesian archipelago.