The passenger train was travelling between Liege and Namur at about 90 km/h (55mph) when it hit the good train.
The two trains were on the same track, a spokesman for Infrabel said.
A passenger train crashed into the back of a goods train at high speed, said Belgium’s rail infrastructure manager, Infrabel.
At least three people have been killed and 9 injured in a train crash in the Belgian town of Hermalle-sous-Huy, near Liege, according to the town’s mayor.
A witness told French newspaper L’Avenir that the train carriages were completely destroyed.
“Two of the six carriages derailed and are lying on the tracks,” said a statement issued by Infrabel and the national rail operator, SNCB.