Mohammed Shami claimed 5/44 as India took firm control by dismissing South Africa for 197 in their first innings at the end of Day 3 of the Boxing Day test at Centurion on Tuesday.
Resuming at a overnight score of 272/3, KL Rahul added just one run to his overnight score before being caught down the leg side by Quinton De Kock off Kagiso Rabada’s short delivery for 123.
Ajinkya Rahane looked good in his knock of 48, before edging a Lungi Ngidi delivery behind the stumps. Ravi Ashwin and Rishabh Pant departed cheaply as the visitors slumped to 296/7.
Shardul Thakur (4) perished caught behind to Rabada while attempting a flashing drive. Ngidi claimed his sixth wicket by dismissing Shami (8) caught behind by De Kock.
Marco Jansen claimed his maiden test wicket by dismissing Jasprit Bumrah, caught at third slip by Wiaan Mulder as the visitors were bowled out for 327.
For South Africa, Lungi Ngidi was the pick of the bowlers with figures of 6/71, while Kagiso Rabada claimed 3 wickets.
Jasprit Bumrah got India off to the perfect start by dismissing skipper Dean Elgar (1) in the very first over.
India suffered a major blow as Bumrah walked off the field in the 11th over due to ankle injury.
Mohammed Shami then got into the act by dismissing Keegan Petersen and Aiden Markram for 15 & 13 respectively.
Mohammed Siraj claimed the wicket of Rassie van der Dussen (3) caught at gully by Ajinkya Rahane.
The pair of Quniton De Kock and Temba Bavuma stitched together a valuable 72 run stand for the fifth wicket before the former chopped a Shardul Thakur delivery on to his stumps for 34.
Shami bagged the wickets of Wiaan Mulder and Temba Bavuma leaving the hosts struggling at 144/7.
Marco Jansen and Kagiso Rabada kept India at bay with a frustrating 37 run stand for the eight wicket before the former was dismissed leg before wicket by Thakur for 19.
Shami claimed his five wicket haul by dismissing Rabada caught behind for a well made 25. In the process the Indian speedster also claimed his 200th test wicket.
Bumrah claimed the final wicket by dismissing Keshav Maharaj (12) caught at third man as South Africa were bowled out for 197 , giving India a 130 run lead.
The visitors in the second innings lost Mayank Agarwal as he edged a Marco Jansen delivery behind the stumps.
At the end of Day 3 stumps, India reached 16/1, with an overall lead of 146.
KL Rahul and night watch man Shardul Thakur were unbeaten at the crease.