Two Spanish men were still missing after the boat, which was also carrying Indonesian crew, sank Saturday as it made the long voyage from Lombok island to Komodo island, a popular tourist destination.
The vessel went down slowly, breaking up into pieces, close to tiny Sangeang island after running into a reef and being hit by a storm. But there was no communications equipment on board to radio for help.
A first group of 10 foreigners of various nationalities including Britons, Germans and Italians, was rescued on Sunday.
A French survivor told how they perched on the roof of the boat for hours as it sank, and eventually decided to swim to an island on the horizon, even though a volcano on it was emitting smoke at the time.
Bertrand Homassel told AFP it took six hours to swim to the island, but they had no choice as the vessel’s single lifeboat only had room for a handful of people.
After finally reaching the island on Saturday evening, they found it deserted, and there was no fresh drinking water or food.
Dehydrated, exhausted and sunburnt, they resorted to drinking their own urine and eating leaves until they were rescued by a passing boat the next day, Homassel said.
They were taken to nearby Sumbawa island, where they received medical treatment. None of them were seriously injured.
The second group rescued Monday was made up of eight foreigners, four Indonesian crew and an Indonesian tour guide. Several were in the lifeboat when the vessel went down while others put on life jackets and swam alongside.
Dutchman Jan van Ommen, recovering in Sape town on Sumbawa, said they were in the water for about 40 hours, and took it in turns to spend stints either in the lifeboat or floating in the water wearing the life jackets.
Budiawan, search and rescue chief on Lombok, said the second group was found early Monday by fishermen, floating about 60 miles (100 kilometres) off the coast of Sumbawa.
An immigration official on Sumbawa said none of the second group was seriously injured. They were “quite weak as they didn’t eat or drink for several days in the sea. They have minor injuries like scratches,” he said.
The boat was carrying 25 people. The foreigners rescued were from New Zealand, Britain, Spain, the Netherlands, Germany, France and Italy.