After being turned away by both Indonesia and Malaysia, fighting broke out on board a migrant vessel carrying ethnic Rohingya and Bangladeshi Muslims over scarce supplies of food and water.
Their accounts suggest people attacked each other with knives and hammers, and that many jumped into the water to escape.
One of the migrants on board, 15-year-old Salmahan, told Al Jazeera that ethnic enmities could soon trump shared distress.
“They said, ‘You’re Rohingya and we’re Bengali. We’re going to kill you’,” he said.
Twelve members of Salmahan’s family were killed in the violence.
After the fight, fishermen from the Indonesian province of Aceh found the boat in distress and mobilised as many vessels as they could find to rescue the survivors and take them to Langsa, an Indonesian town.
“We fishermen have a code,” a local by the name of Ridwan told Al Jazeera.
“At sea you are all brothers and sisters, foreigners or Indonesians. So if someone is asking for help, we as fishermen have an obligation to help without looking at race, religion or anything.”
The fishermen were questioned by police for allegedly violating naval policies.
International organisations estimate that thousands of people are still stranded at sea.
They say the migrants are the victims of a game of political human ping-pong between Thailand, Indonesia and Malaysia, a game that is costing people their lives.