Rishabh Pant has plundered a brilliant unbeaten 100 from 139 balls as India were bowled out for 198 on the stroke of tea, setting hosts South Africa a victory target of 212 in decisive third Test at Newlands.
Pant took the attack to the home bowlers after lunch on Wednesday’s third day and smashed four sixes in an innings of high quality on a difficult wicket for batting.
Captain Virat Kohli (29) was the only other player to score more than 10 in India’s second innings.
With the series on the line, South Africa will have to chase their target on a pitch with prodigious seam movement and against a high-quality Indian pace attack.
A fourth innings target of over 200 has been successfully chased only three times in 133 years at Newlands as India seek to claim a first ever series win in South Africa.
But one of those was when South Africa successfully chased 211 for the loss of five wickets against India in 2007.
Pant showed superb skill at first to weather a storm from the home seamers, and then play an array of attacking strokes that demonstrated his full repertoire of shots.
He looked far more in control than any batsman in the Test so far and could well have played India into a winning position.
South Africa bowled without much luck, beating the bat with regularity, but it is the first time in Test history that all 20 wickets to fall in a match for one team were caught.
Lungi Ngidi (3-21), Kagiso Rabada (3-53) and Marco Jansen (4-36) were among the wickets, Ngidi claiming the key scalp of Kohli to open up an end for South Africa to attack.
Kohli chased a wide delivery and was well caught at second slip by Aiden Markram, a mirror image of his two dismissals in the first Test for which he received criticism.
The series is level at 1-1 after India won the first Test in Pretoria before the hosts bounced back to claim the second.