India 307 and 35 for 3 (Pujara 11*, Ngidi 2-14) need another 252 runs to beat South Africa 335 and 258 (de Villiers 80, Elgar 61, Shami 4-49, Bumrah 3-70)
Scorecard and ball-by-ball details
With one day left to play at SuperSport Park, South Africa are seven wickets from taking an unassailable 2-0 lead, and India are a distant 252 runs from levelling the Test series. Having bowled South Africa out for 258 in their second innings, India were left with the task of chasing 287 with the best part of four sessions remaining. They ended day four 35 for 3, with two of their top-order batsmen already lost to treacherous low bounce, and another out to a loose shot.
The new ball had shown a definite tendency to keep low at the start of South Africa's second innings on day three, and Jasprit Bumrah had removed Aiden Markram and Hashim Amla with shooters pitching short of a good length. India lost M Vijay and Virat Kohli in the same manner; Vijay played on to one from Rabada that shot through at just above ankle height; Kohli was lbw to a nip-backer from Lungi Ngidi that went through at knee height.
Given that the older ball did not misbehave quite as much in South Africa's innings, India might have accepted it if they had only lost those two wickets in the 23 overs they played until stumps. They lost one more, however, to a ball that didn't deserve a wicket; Ngidi bowled it short and wide, and perhaps it stopped slightly on KL Rahul - he shaped to cut, checked his shot as he played it, and ended up slicing it straight into backward point's hands.
At stumps, Cheteshwar Pujara was batting on 11 and with him was Parthiv Patel - promoted ahead of Rohit Sharma to No. 5, possibly since he's the only left-hander in India's XI - on 5.
South Africa were bowled out in the tenth over after tea, with Mohammed Shami's four wickets playing a key role in keeping India in the contest. Shami's key interventions came when he took three wickets in a seven-over spell before lunch, after AB de Villiers and Dean Elgar had put on 141 for the third wicket.
Bumrah and Ishant Sharma were also among the wickets, finishing with 5 for 110 between them, while R Ashwin toiled wicketless for 29.2 overs before ending the innings by getting last man Ngidi caught in the deep.
Thanks to the slowness of the pitch, low bounce was a manageable threat for South Africa's batsmen once the ball became older and softer. Even so, de Villiers breathed a sigh of relief when Bumrah got one to keep low in the fourth over of the morning as well, but this time the line was just outside off stump.
Conditions were otherwise reasonably good to bat in, and with India also offering de Villiers release balls every now and then - width the most frequent culprit - South Africa's lead was beginning to trouble India, and their worries were compounded by Elgar's stay. He never looked comfortable at the crease, particularly against Ashwin's offspin but kept fighting cussedly, bringing up his half-century with a drive through extra-cover off Ishant.
The breakthrough arrived thanks to extra bounce, Shami getting one to rear at de Villiers in the corridor to find a bit of glove through to Parthiv Patel. Then, Shami dropped one short to Elgar, who had pulled a similar ball to the boundary at the start of his spell, but this time he hit it in the air and within range of KL Rahul patrolling the square-leg boundary.
Ashwin, who kept getting the ball to dip into awkward areas and turn sharply, nearly had a wicket in the over after Elgar's dismissal. Faf du Plessis, stretching forward, failed to get to the pitch of an offbreak and flicked it in the air. Rahul, diving full-length to his right at leg gully, only got his fingertips to it.
There was more frustration waiting for India in the next over. Shami kept hitting a good length outside off stump, and finding just a bit of seam movement. De Kock, seemingly unaware of the option of leaving the ball, kept throwing his hands at it. Three successive edges flew to the boundary, two wide of the slips and one just beyond Parthiv's reach as he dived to his left. The next ball produced another poke from de Kock; this time, it was close enough to Parthiv for him to take the catch.
The game had rattled along in the morning session; it nearly came to a standstill after tea, with both sides sitting back and waiting for a mistake from the other. It was understandable, given how delicately poised the Test match was. Bowling in tandem, Hardik Pandya and Ishant kept bowling just short of a good length, often sending down cutters, and conceded only 14 runs in 11 overs, discomfiting both du Plessis and Vernon Philander with movement or inconsistent bounce but without creating a chance.
It took a short, harmless-looking ball to end the seventh-wicket partnership at 46, Philander unbalanced on the pull and caught at square leg. Then, in his next over, Ishant got one to lift unexpectedly in the fifth-stump channel, and Keshav Maharaj nicked to Parthiv off the shoulder of the bat.
Du Plessis remained at the crease, forever a thorn in India's flesh; when he pulled the returning Shami for four off the last ball before tea, he had moved to 37 off 122 balls. He survived a dropped chance on 46 when Bumrah put down a return catch, but fell to a near-replay in his next over, two short of his second fifty of the match. In between, Shami sent back Kagiso Rabada with bounce and seam movement in the corridor, Virat Kohli taking a good, low catch at second slip.