Flames ripped through the twisted wreckage and choking black smoke rose into the air as desperate passengers clambered out of the train to escape the inferno.
Rescuers rushed to the scene to search for survivors and treat the injured. Officials warned the toll could rise as operations continued to clear the crash site.
"Police are investigating. The truck driver was taking chances... that cost lots of lives," Transport Minister Joe Maswanganyi told reporters at the scene.
The Shosholoza Meyl rail company, which operates long- distance trains in South Africa, said the train travelling from Port Elizabeth to Johannesburg collided with the truck at about 09:00 am (0700 GMT).
It said in a statement that the truck had made an "untimely" crossing of the tracks when it was hit by a train at high speed, between the towns of Hennenman and Kroonstad, 200 kilometres (125 miles) southwest of Johannesburg.
Shosholoza Meyl said there were 429 passengers on board, though Maswanganyi put the number at 730.
"The death toll has increased to 14," provincial government health spokesman Mondli Mvambi told AFP, adding that at least 180 people had been injured -- two of them critically.
"It is feared that they could find more bodies as the search, recovery and rescue work is ongoing."
The number of injury reports also varied widely in the immediate aftermath of the crash.
Some victims were treated on a strip of grass beside the railway line while others were taken to hospital. Uninjured passengers waited on a nearby road, some of them carrying their luggage.
The New Year is a busy period for transport in South Africa, with railways and roads carrying passengers returning to work after the holidays.
Disclaimer: No Business Standard Journalist was involved in creation of this content
