The express passenger service was nearing the end of a six-hour trip from Madrid to the town of Ferrol in northwest Spain when the crash occurred, the state railway said.
Security footage revealed how, as the train hurtled around a bend, its cars derailed and slammed on their sides into a concrete support structure for a bridge.
Flames burst out of one train car as another car was snapped in half. Rescue crews and fellow passengers pulled bodies through broken windows and pried open doors as stunned survivors looked on.
Maria Vigo, whose home is on the bank above the rail tracks, told CNN how she heard a crash, then the deafening squeal of metal on concrete.
"When I saw the rail car flip into the air, I imagined something just horrible had happened," she said.
She and husband Suso tried to help the injured, taking bed sheets to wrap around the injured and ropes to haul the survivors off the tracks.
Firefighter Miguel Angel Bello said the first four minutes after he arrived on the scene were a desperate race against time.
He and fellow firefighters smashed windows and kicked in doors to pull out the passengers trapped inside as rail cars went up in flames.
A young girl in the wreckage called out to him.
"She was under wreckage she said she wanted to get out and go home," he said. "But she died."
Survivor: We looked like the walking dead
Stephen Ward of Bountiful, Utah, who is in Spain serving on a Mormon religious mission, was one of the lucky ones.
Still patched up and wearing a neck brace, he told CNN's New Day show of his ordeal -- and his relief that he made it out alive and without permanent injury.
Ward, 18, blacked out when his car slammed on to its side, regaining consciousness only as he was being helped out of the train.
It took him a couple of minutes to grasp that what he was seeing outside was not a dream -- and that people were dead. "They were helping out other people -- there were bodies, there was screaming, there was smoke."
The survivors looked like the walking dead, he said. "I've got staples all over my scalp, I was covered in blood. They've scrubbed most of it off me now, but everyone was just covered in their own blood and occasionally the blood of others. It was gruesome to say the least."
Another victim, speaking from a hospital bed with his arm in a sling, told CNN affiliate Atlas that it seemed like the train was going fast.
"But we didn't know what was the maximum speed, so I thought it was normal," he said, "And suddenly there was a curve, the suitcases fell, and everything went dark. And I hit my head a ton of times, and 10 seconds later I was wedged between seats, and I had people's legs on top of me."
The derailment came on the eve of a public holiday to celebrate a saint's day, when more people than usual may have been traveling in the region. Planned festivities in Santiago de Compostela and across Galicia were canceled after the crash.