Tshwane Emergency Services said at least 29 people were injured, five critically, and some were flown to hospitals, The Pretoria News reported.
One of those killed was a pregnant woman.
The Rovos Rail train had been returning from Cape Town when it derailed outside Pretoria Station, authorities said. Initial reports suggested the train's brakes may have failed, causing the derailment.
The Red Cross and members of the Military Health Services rushed to the scene.
To reach some passengers, rescue workers cut holes in the side of coaches, three of which were lying on their sides, while four others were badly mangled.
The tourists included 30 Americans returning from a week in Cape Town, the News said.