Dean Elgar, as tenacious as they come, held firm. It was a captain making a statement.
The southpaw, his team chasing a challenging 305, kept the fight going with a determined defence and typical left-handed punches.
Rassie van der Dussen applied himself, but erred in shouldering arms to a Jasprit Bumrah delivery that jagged back to disturb stumps.
And in the last over of the day, an inspired Bumrah yorked nightwatchman Keshav Maharaj.
The Proteas were 94 for four with Elgar on a gritty unbeaten 52 at stumps on day four of the first Freedom Test at the SuperSport Park here on Wednesday.
Showers forecast
With showers forecast on the final day, India, inching closer to a win, needs to strike hard in the first hour on Thursday.
The target India set was a demanding one on a surface with pace, lift and seam movement.
Mohammed Shami, bowling with a lovely rhythm, gave a torrid time to Aiden Markram around the off-stump, before the batter inside-edged to the stumps, unsure whether to play or leave.
The little Keegan Petersen stood on his toes and punched Shami to the point fence, but then, Mohammed Siraj took him out with a beauty that left the batter.
Elgar was resolute though. His high backlift coming down on the ball, he cover-drove Shardul Thakur with precision and timing. When Shami erred in line, Elgar put him away to the mid-wicket fence.
On him hinges the South African hopes.
Rabada, Jensen impress
In the morning and afternoon, Kagiso Rabada and Marco Jensen impressed as India was dismissed for 174 in its second innings.
Rabada is such a natural, accelerating with the smoothness of a gazelle, loading up with the venom of a mamba and unleashing the ball with the explosiveness of a leopard.
There was pace, lift and movement around the off-stump. He scalped four.
Marco Jansen impressed. He is tall, has a high arm action, and gets natural bounce from a left-armer’s angle.
If he develops the ball that shapes into the right-hander, he could be a handful. The nippy debutant took four wickets.
Indeed, Rabada and Jansen gave little away; the accuracy of length complemented by a line close to off-stump.
Lungi Ngidi too chipped in, consuming K.L. Rahul with a delivery of extra bounce and away-swing. Rahul, going for a ‘release’ shot, after being tied down, edged into the cordon.
Unlucky
Cheteshwar Pujara, put down at mid-wicket by Rabada when he flicked Ngidi uppishly, was rather unluckily caught, nicking Ngidi down the leg-side.
The action was engrossing. Virat Kohli survived a vociferous shout for leg-before when he played around an incoming ball from Rabada.
Kohli fell soon after lunch, his run of indifferent form continuing. This time he was, fatally, drawn like a moth to fire by a widish delivery angled across him from Jansen.
There are problem areas in Kohli’s batting. He shuffles across and appears vulnerable to deliveries darting in, is also unsure around the off-stump.
Rahane looked in good touch again and he launched into Jansen, square-driving, hooking and cover-driving the paceman. However, he was unable to consolidate, failing to keep a hook off Jansen down.
The left-handed Rishabh Pant, the x-factor, cut Jansen furiously to the fence.
Rabada took out R. Ashwin with a mean lifter, but Pant was unfazed, hammering support seamer Wiaan Mulder to the extra- cover fence.
Pant’s bustling run-a-ball 34 — he eventually miscued a pull off Rabada — was the principal reason India set a target beyond 300.
Extras : (B-17 LB-4 NB-6) 27
Total : (All out in 50.3 overs) 174
Fall of wickets : 1/12 2/34 3/54 4/79 5/109 6/111 7/146 8/166 9/169 10/174
Bowling : Kagiso Rabada 17-4-42-4, Lungi Ngidi 10-2-31-2, Marco Jansen 13.3-4-55-4, Wiaan Mulder 10-4-25-0.
South Africa 2nd innings: Aiden Markram b Shami 1 Dean Elgar batting 52 Keegan Petersen c Pant b Siraj 17 Rassie van der Dussen b Bumrah 11 Keshav Maharaj b Bumrah 8
Extras: (LB-1 NB-4) 5
Total: (For four wickets in 40.5 overs) 94
Fall of wickets : 1/1 2/34 3/74 4/94
Bowling : Jasprit Bumrah 11.5-2-22-2, Mohammed Shami 9-2-29-1, Mohammed Siraj 11-4-25-1, Shardul Thakur 5-0-11-0, Ravichandran Ashwin 4-1-6-0.