An eight-year-old boy died Monday and his mother was injured when a man pushed them 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 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 watched and ran after the fleeing man, and he was arrested near the station, she added.
According to news channel NTV, the suspect is a citizen of Eritrea.
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.