At least 150 people, including children, were injured, emergency services said on Thursday. But EWN reported 300 people were injured in the accident, stating "50 of them are schoolchildren [and] 2 are in a critical condition in the Kalafong hospital".
The accident occurred when a train crashed into a stationary locomotive near Attridgeville.
"Many are walking wounded and already left. There are 20 people in serious condition and one, the driver of the second train, is in a critical condition," said local emergency services spokesperson Johan Pieterse.
The driver was airlifted to hospital.
The cause was being investigated, he added.
Passenger Rail Association of South Africa chief exectuive Mosenngwa Mofi said cable theft and subsequent human error caused Thursday's crash and that the signalling for the trains to stop was being operated manually when the accident happened.
Transport Minister Ben Martins said if the trains had a head-on collision, hundreds of people could have been killed.
South Africa signed a $5.8-billion contract with France's Alstom in December to supply 3 600 new train cars as part of a 10-year programme to overhaul its ageing rail network. – Additional reporting by Reuters