Stumps India 327 (Rahul 123, Agarwal 60, Ngidi 6-71, Rabada 3-72) and 16 for 1 (Rahul 5*, Thakur 4*) lead South Africa 197 (Bavuma 52, de Kock 34, Shami 5-44, Bumrah 2-16) by 146 runs
With the whole second day lost to rain, Centurion practically made up for the time lost with the most wickets it has produced in a day of Test cricket, 18. India lost their last seven wickets in 69 balls, which is not usually considered ideal, but it was just the result they needed as it suggested the pitch had significantly more life in it than on day one. Mohammed Shami then led India's bowling - missing Jasprit Bumrah for 49 overs because of an ankle injury - with his second first-innings five-for in Test cricket to give India a lead of 130.
India now held all the keys to dominance in the Test, provided no further weather interruptions in the remaining two days. Things looked similar at the end of day one, but the washed-out second day left them needing an innings win or a transformed pitch if they were to force a result. The Centurion pitch, which usually gets quicker after the first day, responded with both pace and uneven bounce for the new ball.
What resulted was the second-quickest collapse in Test cricket (where fall-of-wicket information is available) in terms of number of balls, when the first four wickets of a team had batted 90 overs or more. India's first new ball looked just as lethal with four wickets falling in the first 13 overs before the pitch settled down enough for South Africa to recover from 32 for 4 to end up with 197.
Kagiso Rabada and Lungi Ngidi caused the havoc early doors, hitting the pitch hard and drawing the inconsistent bounce. Ngidi ended with his second six-wicket bag in Centurion. Once the overnight batters, KL Rahul and Ajinkya Rahane fell, both to extra bounce, the approach of the rest of the batters suggested they felt safe with what they had on the board in practically a four-day Test. They probably fancied bowling out there instead of taking time out of the Test by merely surviving. There was good reason for it: after just 60 false response in the first 90 overs of the Test, 28 came about in the next 15.3 overs. India took 55 runs in those overs, and unleashed their attack.
As early as the first over, Bumrah produced an unplayable delivery to send back captain Dean Elgar: a full ball that shaped in and then nipped away just enough after pitching to take the edge. In the half hour that India had before lunch, they looked to swing the ball, but didn't find much. They came back a mean machine: repeatedly bowling the fullest length that can't be driven, mixing in the odd lifter into the ribs.
Keegan Petersen responded with an error immediately as soon as India changed the lengths. Still looking for the drive, he was well away from the pitch of the ball, which seamed back to take the inside edge and knock over his stumps. When Aiden Markram had his off stump pegged back by one that held its line, it wasn't the first unplayable ball he was facing. This was an interrogation of the highest order.
After Bumrah twisted his ankle and walked off in the 11th over, Mohammed Siraj cleverly checked Rassie van der Dussen out on the drive with two sucker balls. One edge fell short of second slip, and the second went straight to gully, a dismissal that should leave the batter disappointed.
As the ball began to grow softer, it began to misbehave less, allowing Temba Bavuma and Quinton de Kock to build a partnership. They applied themselves well, and took toll every time India overpitched. They added 72 for the fourth wicket, the only stand of 50 or more, but this is where India's decision to play five bowlers came in handy. The duo saw off R Ashwin's first spell and also a Shami spell, but Shardul Thakur came back to have de Kock play on the first ball of a new spell. This was just before tea, Bumrah had come back on the field, but there were still close to two hours to go before he could bowl again.
It was hard work post tea too with the ball not doing much. This is when Shami put in a spell of 4-0-19-2 to take out both Bavuma and No. 7 Wiaan Mulder. They both looked comfortable at the wicket, Bavuma even reached his half-century, but they both made errors against the impeccable accuracy of Shami. Mulder played a loose drive to a half-volley, and Bavuma defended a wide one outside the line of his head.
Rabada and debutant Marco Jansen now added 37 for the eighth wicket, managing to make it look easy, but again Thakur produced the breakthrough just before Shami and Bumrah came back on. He had Jansen playing inside the line of what looked like a straight ball. Shami had Rabada for his five-for, his 200th wicket. He is the only Indian among the 11 with 200 or more with a strike-rate of under 50. Bumrah finished things off with the wicket of Keshav Maharaj, caught at fly slip.
In the half hour possible before stumps, Jansen managed to get the wicket of Mayank Agarwal, with India ending the day effectively at 146 for 1. At the end of day three on such a pitch, you back yourself to win, but there is some forecast for rain on day five, which will make for an interesting watch on India's declaration should they get themselves into a position to do so.