An 8-year-old boy was killed when he and his mother were pushed in front of a speeding train in Germany on Monday morning, authorities said.

The chilling, apparently random attack occurred around 10 a.m. on the platform of the city of Frankfurt’s busiest transit station, which was full of families, including many with children, and commuters.

“People collapsed, howling,” a witness told the German news agency Hessenschau.

The child died instantly, but his mother was able to roll into a space between the tracks and platform and survived, officials said.

She was being treated for shock at the hospital, as were some onlookers, they said.

The suspect, identified as a 40-year-old Eritrean man, also tried to push another woman onto the tracks, “but she was able to defend herself,’’ a local police spokeswoman told the Guardian.

The madman was chased and tackled by commuters, who held him for police.

“Passengers witnessed the disaster and ran after the fleeing man. It was possible to arrest him while he was still in the station,” the police rep said.

Authorities said they have yet to determine motive. The suspect isn’t talking, they said.

Even officials were left stunned by the seemingly unprovoked attack — the second in less than two weeks in a German train station.

Several days ago, a 34-year-old woman was pushed onto tracks in the western town of Voerde by a 28-year-old man of Kosovo Serb descent, officials said. The man, who is not believed to know the victim, is in custody.

“The death of a boy in the Frankfurt Central Station shakes me,” Hessian Prime Minister Volker Bouffier said in a statement. “It stunned. … The explanation of the heinous act is now in the hands of the competent authorities.’’

The German rail company Deutsche Bahn added in a tweet, “We are deeply shocked by the terrible events at the Frankfurt Central Station. Our thoughts are with the relatives. The DB will soon be switching to a special telephone number for the psychological care of those who had to experience it.”

The high-speed ICE, or InterCity Express, train was coming from Düsseldorf at the time.