Those who were able to escape with their luggage hurriedly dragged bags from the smoking wreck to a nearby road.
"The truck driver was taking chances. He thought that he was going to pass through," Transport Minister Joe Maswanganyi told journalists. "Little did he know that the train was going to hit him. That has cost a lot of lives."
Some of the dead were badly burned, said Mthuthuzeli Swartz, acting CEO of the state-owned passenger rail agency.
The train with 429 passengers aboard had been traveling from Port Elizabeth to the country's commercial hub, Johannesburg.
Video showed part of the Shosholoza Meyl train in flames after the collision that occurred between the communities of Hennenman and Kroonstad in Free State province.
The crash derailed half a dozen carriages, and power lines were damaged. A large vehicle was upside down beside a train carriage that appeared to have partly crushed another, smaller vehicle.
The truck driver emerged unscathed and the train driver and his assistant suffered minor injuries, Swartz said.
He told local media outlet eNCA that the truck towing two trailers was halfway across the track when it was hit by the train and dragged for 400 meters (1,300 feet).
"Human error" caused the accident, he said. An investigation continued.
(This story has not been edited by Business Standard staff and is auto-generated from a syndicated feed.)