At least 10 people were killed Tuesday in a head-on collision between two trains in the southern Italian region of Puglia, fire service officials said.
Footage showed emergency services racing to extract people from the wreckage of smashed carriages thrown across a single track near the town of Andria, near Bari.
The chief of the firefighting service in Bari said 10 people had been killed and were dozens injured in the accident, while media reports raised the death toll to 20.
Thirty-four people were hospitalised, 18 of whom were in a serious condition, according to Italian media reports.
Funeral wagons bearing coffins arrived at the scene to carry away the first of the dead.
The impact happened on a bend in the track in open countryside and flung the front carriages of both trains into olive groves bordering the line, slinging bits of metal from the wreckage.
“It’s an apocalyptic scene, it was hard not to vomit on first sight,” said local journalist Lucia Olivieri who works for Andria Live.it, adding that rescue workers feared people may still be trapped.
She said local hospitals had issued a request on social networks for blood donors to come forward to help the injured.
Paramedics set up an impromptu medical centre among the olive trees, with three helicopters airlifting out the most seriously hurt victims, including one young boy.
Many of the passengers on one of the trains had been students heading to lessons at the University of Bari.
Relatives of some had arrived at the scene looking for news of their loved ones.
Riccardo Zingaro, head of traffic police in Andria, said the yellow and blue carriages were “utterly crumpled” by the impact.
Investigators said at least one of the trains had been travelling very fast, and it was possible the collision was caused by human error.
One of the four-carriage trains was supposed to have waited at a station for a green light before heading down the single track between the towns of Corato and Andria.
Prime Minister Matteo Renzi interrupted a speech in Milan to say the country would “not stop until we know what happened”.
“This is a moment for tears in which we need to work to recover the victims and wounded,” he added.
Renzi said he was returning immediately to Rome following the collision.
Italy’s transport minister Graziano Delrio was on his way to the scene along with two ministry inspectors to aid the investigation.
The last big train crash in Italy left 38 people dead in 2013 near Naples.