The second Test stood delicately poised following India's fightback that dimmed South Africa's dominance, in parts, at the Wanderers on the second day.
The visitors, who were bowled out for 202 in the first innings, will feel they wrested some momentum from the Proteas, who gained a 27-run lead after being bowled out for 229 in reply.
The tourists had Shardul Thakur (7/61) to thank for their claw-back after he ripped through the Proteas, breaking their most crucial partnerships and preventing Dean Elgar's men from disappearing into the horizon.
India was 85/2 at stumps, with a 58-run lead going into day three.
Marco Jansen took destructive opener, KL Rahul, out early for 8 (21), Aiden Markram catching a contentious nick at second slip.
Rahul's partner in crime, Mayank Agarwal, also departed when he was trapped in front, offering no shot to a Duanne Olivier stumps-bound missile.
But India's batters scored freely until the close of play, going at a run rate of more than four per over as Cheteshwar Pujara (35*) and Ajinkya Rahane (11*) finished unbeaten at stumps.
The pair, who have been under pressure from Indian critics for recent below-par performances, gave a hint of their pedigree, which will destroy the Proteas' chances if they continue unchecked on day three.
South Africa can ill-afford to give India a lead their feeble batting order will battle to overhaul.
Proteas star batsman Quinton de Kock says "a lot of contributing factors" played a role in his decision to retire from Test cricket at the age of 29.
Although they finally crossed the 200-run frontier, the Proteas' batting frailties followed them from Centurion to Johannesburg, where they squandered a chance to secure a healthier lead.
Two half-centurions, Temba Bavuma and Keegan Petersen, failed to hammer home their advantage after getting themselves set on a wicket that had plenty runs on offer.
On days like these, the Wanderers Stadium looked a shell of its former vibrant self.
Without fans in its vast grandstands, no kids running around in the family area and bereft of beer-drinkers at Castle Corner, the traditional experience of being at the iconic Bullring was lost.
It felt as if the summer sun was going to waste as its bountiful rays landed on commercial brandishes rather than sunscreen-soaked skin.
This part of the treasure chest the coronavirus has stolen from humankind.
Regardless of the diluted stadium experience, the handful onlookers were treated, late on, to Jansen's ungainly but effective blows at the end of SA's first innings.
The youngster, who was elevated to No 7 after Duanne Olivier replaced Wiaan Mulder in the order, had a jolly good time hacking Indian bowlers to various parts of the ground.
He wasn't expected to make too many runs - his primary role being his left arm quicks - so the opportunity was almost a "free hit", a chance to earn himself a proper all-rounder's reputation.
Thakur - who else? - eventually removed Jansen for a handy 21 (34), getting him caught by Ravichandran Ashwin from extra cover.
Thakur wasn't done ending the fun.
He captured Lungi Ngidi's scalp to complete a magnificent seven allotment. He had never taken a five-for before taking those career-best figures.
Scores in brief:
India: 202 all out (KL Rahul 50, Ravichandran Ashwin 46, Marco Jansen 4/31, Duanne Olivier 3/64, Kagiso Rabada 3/64)
SA: 229 all out (Keegan Petersen 62, Temba Bavuma 51, Shardul Thakur 7/61, Mohammed Shami 2/52)
https://www.news24.com/sport/cricke...-india-dim-proteas-initial-dominance-20220104