One carriage fell six metres and flipped on its roof in the river bed while two more jumped tracks without turning over, causing injuries, television footage showed.
Sergeant Sunaryo, a local policeman, said most of the injuries sustained in the incident near Purwokerto town just after midnight on Tuesday, were not serious.
An injured woman told a local television station the Senja Bengawan train was packed with passengers heading to Jakarta from Solo town.
Güncelleme Tarihi: 20 Eylül 2018, 18:16
"It was so full you could not walk from one end of the carriage to the other. People kept pouring on whenever the train stopped," the unidentified passenger told Metro TV from her hospital bed.
Train accidents, especially at crossings, are common on Indonesia's ageing railway, and economy class coaches usually carry up to 200 people.
The derailment caused massive delays and left hundreds stranded for hours while other train services plying the Solo-Jakarta route were diverted.
Since late December, Indonesia has seen a spate of air and sea accidents caused by bad weather with hundreds reported dead or missing.
Wibowo, an exasperated passenger on another train, was quoted in Kompas as saying: "I'm confused. You take the plane and it crashes, you take the train and it derails, you take the bus and it meets an accident or goes off the road."