Mohammed Shami's sheer artistry with new and old balls fetched him another five-wicket haul as India seized control of the first Test against South Africa on the third day by extending their overall lead to 146 runs that could prove to be decisive.
Shami (16-5-44-5) and his pace bowling colleagues Jasprit Bumrah (7.2-2-16-2), Mohammed Siraj (15.3-1-45-1) and Shardul Thakur (11-1-51-2) further enhanced their reputation as world-beaters by dismissing the Proteas for mere 197.
The quartet neutralised Lungi Ngidi's lion-hearted morning spell which saw him finish on 6 for 71 from 24 overs as India lost seven wickets from 55 runs to be all-out on 327.
The wily old Shami manfully shouldered the duties of a pace spearhead for the better part of the 62.3 overs because of Japrit Bumrah's twisted ankle. He also completed a satisfying personal milestone of 200 Test wickets.
With a first-innings lead of 130, India at stumps reached 16 for 1 losing Mayank Agarwal's wicket.
The Supersport Park strip after all the rain on the second day was at its spiciest best with all the underlying moisture aiding seam and swing bowling as 18 wickets fell on the day.
While Ngidi and Kagiso Rabada did well in the morning, Shami did way better in the afternoon in the company of Bumrah, Siraj and Shardul.
If the Proteas pacers relied on a steep bounce off a good length to trouble the Indian middle and lower-order which caved in meekly, Shami used the angles of the crease very effectively and the movement off the pitch did the rest.
In case of Peterson, Shami went slightly wide off the crease and unleashed an in-cutter that pitched on length and shaped in to take inside edge off his bat into the stumps.
In case of Markram, he came closer to the stumps and bowled one that looked shaping in but once it pitched, it just shaped away to hit the top of off stump.
Once the top half was blown off, India didn't have problems even as the pitch eased out.
Temba Bavuma (52) and Quinton de Kock (34) added 72 runs for the fifth wicket.
If Shami didn't get wickets, then Siraj did and when Siraj went through a dry spell, Shardul chipped in and by the time Bumrah got fit. In between, Ravichandran Ashwin despite not getting a wicket kept things tight and over-rate in check.
Shami bowled some of the best deliveries in the South African innings. Bumrah too bowled a beauty with the tiniest of movement that forced rival skipper Dean Elgar forced edge one to Rishabh Pant, who touched the milestone of 100 victims behind the wicket.
The morning belonged to Ngidi and Rabada as the Supersport Park track stayed true to its reputation of quickening up as time progressed. The bounce was more and the length that Rabada and Nigidi bowled consistently was a touch fuller compared to the first day.
It was Rabada, who drew the first blood on the day with a well-directed short ball aimed at Rahul's rib-cage.
In case of Rahane, Ngidi hadn't provided enough length for the drive and the ball reared up from length to take his edge and into keeper's gloves.
Ashwin's batting in SENA countries has gone downhill and the leading edge that lobbed up to Keshav Maharaj was a result of not being able to negotiate extra bounce generated by Ngidi.
Pant (8)'s dismissal was a carbon copy of Cheteshwar Pujara's where an angular delivery climbed up and it was an easy bat-pad catch for forward short leg.
Bumrah (14) did hit a few boundaries to take the score past 325 which was at least 75 runs short of what India had envisaged at the start.