South Africa were bowled out for 229, a first innings lead of 27 runs, on the second day of the second Test against India at the Wanderers Stadium on Tuesday.
Shardul Thakur took seven for 61, the best figures by an Indian bowler in Tests against South Africa.
Keegan Petersen scored 62 runs for South Africa – his maiden Test half century – while Temba Bavuma scored 51.
India won the first Test in Centurion and lead the three-match series 1-0. The final Test is in Cape Town.
South Africa 229 (K. Petersen 62, T. Bavuma 51; S. Thakur 7-61)
Match situation: South Africa lead by 27 runs on the first innings.