One survivor told Reuters the ship had started to roll over after struggling in high seas and heavy rains.
"Suddenly the lights went off and it became dark. The ship's crew tossed life jackets ... some could not get any but I got one," said Waluyo, 53.
"I tried to get into a rubber boat but many people also did the same thing, so the rubber boat was torn. Finally, I grabbed the edge of another rubber boat."
Waluyo said he did not know the fate of his children, one a young adult and the other an infant, travelling with him.
Another survivor told Metro TV: "The crew told us to be calm and that nothing was going to happen. But at about 11:15 pm the ship began to turn over and then capsized.
"I was flushed out by water and I saw many people struggling to save themselves."
Hatta Rajasa, the transportation minister, said the Japanese-made 2,178-tonne Senopati Nusantara was seaworthy and had a capacity of more than 850 passengers.