An eight-year-old boy died Monday when a man pushed him and his mother in front of a train in Germany's Frankfurt railway station, police said.
The suspect, a 40-year-old man of African origin who was unrelated to the victims, ran off but was overpowered by passers-by and detained by police.
The woman, also 40, was being treated in hospital after narrowly escaping from the tracks as an arriving ICE high speed train ran over her child.
Police said they had opened a murder inquiry and were questioning the suspect for a possible motive.
"The boy and his mother were pushed in front of an arriving train," said a police spokeswoman. "The mother was able to save herself."
Passers-by ran after the fleeing man who, reports said, had tried but failed to push a third person onto the tracks, and who was arrested near the station, she added.
The suspect is believed to be Eritrean, said Hesse state interior minister Peter Beuth.
Interior Minister Horst Seehofer broke off his summer holiday because of the killing, saying he planned to meet with the heads of major security authorities.
"The background to this heinous crime is still unclear," he said.
"It is now the task of the investigating authorities to clear it up as quickly and comprehensively as possible. The perpetrator will be held responsible for the crime by all legal means."
The far-right Alternative for Germany (AfD) party quickly linked the case to a mass influx of migrants and refugees in recent years.
"The hideousness of this act can hardly be surpassed," wrote the party's Alice Weidel on Twitter, demanding that the government "finally start to protect the citizens of this country".
A similar attack took place 10 days earlier when a 34-year-old woman was killed after being pushed in front of a train by a man in Voerde, near Duisburg