Debutant Lungi Ngidi claimed two late wickets on a costly day for India captain Virat Kohli, as South Africa closed in on a series victory in the second Test at Centurion.
India were set 287 to win after bowling the Proteas out for 258 on day four, Mohammed Shami (4-49) the pick of the bowlers but a stand of 141 from AB de Villiers (80) and Dean Elgar (61) put the Proteas in command.
Captain Faf du Plessis also weighed in with a patient 48 on a surface offering variable bounce, before Ngidi (2-14) and Kasigo Rabada (1-9) reduced the tourists to 35-3 at stumps - 252 runs short of their target.
Ngidi claimed the huge wicket of Kohli, who was earlier fined 25 per cent of his match fee for poor on-field behaviour on day three and looks set to preside over the top-ranked side's first Test series loss for three years.
De Villiers and Elgar had rescued South Africa from 3-2 to 90-2 on Monday and continued to frustrate India in the morning session, the latter not looking comfortable but gaining his reward for digging in when he drove Ishant Sharma to the extra-cover boundary to reach 50.
The brilliant De Villiers deserved a hundred, but the partnership finally ended when the former skipper gloved a rising Shami delivery through to Parthiv Patel and Elgar soon followed, pulling the same bowler to KL Rahul at deep square-leg.
South Africa were 163-5 - leading by 191 - when a pumped-up Shami removed Quinton de Kock (12), but Du Plessis grafted it out after Rahul put down a difficult chance to remove him and Vernon Philander (26) provided support before Ishant (2-40) sent him on his way.
Rabada hung around following Keshav Maharaj's early dismissal but fell before Du Plessis, who struck only four boundaries, was caught and bowled by Jasprit Bumrah (3-70) soon after the paceman gave him another life.
India found themselves deep in the mire after a first wicket for Ravichandran Ashwin (1-78) ended South Africa's second innings, Murali Vijay the first to go, chopping on to a Rabada delivery which kept low.
Ngidi then took centre stage with a hostile spell of fast bowling, although Rahul gifted the 21-year-old his first wicket, tamely steering a short and wide delivery to Maharaj at point.
The Durban-born new boy then claimed the prized scalp of Kohli, the first-innings centurion falling for only five after playing across the line to a delivery which angled in and unsuccessfully reviewed an lbw decision.
Parthiv (five not out) took a nasty blow in the ribs from a hostile short ball from Ngidi, but the wicketkeeper and Cheteshwar Pujara (11no) were still there at the close.
|Young ready to lead Pacers in Oladipo´s absence|
|Kvitova breaking down mental barriers in Melbourne run|
|Neymar has ´painful recurrence´ of foot injury, PSG confirm|
|Sala search begins for third day|
|Pochettino fears VAR will ´annoy´ Premier League fans|
|Osaka through to Melbourne decider after Pliskova thriller|
|Tsitsipas Souvlaki official as Australian Open star is honoured in Melbourne|
|Pacers earn big win over Raptors, Oladipo injured|
|Harden pleased to entertain Knicks fans in 61-point display|
|Kvitova overcomes extreme heat for spot in Aus Open final|
|Man United have their club back – Scholes revels in Solskjaer revival|
|Harden matches another Chamberlain feat with 61-point game|
|Capitals give up fourth hat-trick in five games|
|Durant leaving Warriors would be ´great´ for NBA, says McGrady|
|McEnroe: Serena choked in Australian Open loss|
|De Jong an ´important addition´ at Barca, says Valverde|
|´Better outcome than we originally feared´ – Agent on Anthony Davis injury|
|Pacers sweating on Oladipo injury after Indiana star leaves on stretcher|
|De Jong: I spoke to PSG and City before signing for Barca|
|Guardiola wants finals habit at Man City|
|Lakers star LeBron won´t face Timberwolves|
|Valverde doesn´t regret resting Messi despite Barcelona loss|
|In my heart and in my prayers - Ben Yedder pays tribute to missing Sala|
|Real Madrid reclaim world´s highest-earning club title from Manchester United|
|Messi absence no excuse for Barcelona loss, says Suarez|
|Humble Higuain excited by Sarri reunion|
|He must not come and cry after – Goncalves unapologetic over Neymar injury|
|Serie A record-breaker under Sarri - the Opta numbers behind new Chelsea striker Higuain|
|PSG boss Tuchel ´worried´ after Neymar sent to hospital with another foot injury|
|Coles commits to New Zealand and Hurricanes until 2021|
|Guardiola praises City mentality on ´dangerous´ Burton pitch|
|England won ´attritional´ battle, says Anderson after latest landmark|
|AEK, Brose Bamberg secure last-16 spots|
|Sevilla 2 Barcelona 0: Resting Messi backfires for Copa del Rey holders|
|Sarri: Chelsea players agree with me on motivation comments|
|Morata asked to leave Chelsea a month ago, says Sarri|
|Paris Saint-Germain 2 Strasbourg 0: Neymar suffers injury scare in Coupe victory|
|Anderson´s four-wicket haul rocks Windies|
|Burton Albion 0 Manchester City 1 (0-10 agg): Holders coast through to clinch Wembley return|
|PSG´s Neymar hobbles off in Coupe de France clash|
|De Ligt bored of Ajax departure rumours|
|Piatek completes AC Milan move after Higuain exit|
|Super Bowl LIII: Rams RBs v Patriots RBs|
|Chelsea seal Higuain loan|
|Ismaily kicked out of CAF Champions League after fans throw stones, bottles|
|England star Itoje pens new Saracens deal|
|Palace keeper Hennessey charged over Instagram post|
|Chelsea warn supporters over anti-Semitic chanting ahead of Tottenham EFL Cup tie|
|Joshua primed to make call on next opponent|
|Super Bowl LIII: Brady v Goff|
|Sala search suspended as Cardiff chairman confirms club wanted different travel arrangements|
|Cruyff, Koeman, Kluivert - De Jong following pantheon of Dutch Barca greats|
|Sarfraz apologises for comments picked up by stump mic|
|Djokovic: Pouille deserves top-10 spot|
|Hazard must be more demanding if he wants to leave Chelsea, says Ballack|
|Celtics´ Kyrie Irving to sit out Cavs game with flu-like symptoms|
|Barcelona seal €86m De Jong deal|
|Vietnam v Japan: Moriyasu happy to keep doing just enough|
|Hendricks, De Kock and Steyn join up with Proteas squad|
|Lorenzo excited for ´new level´ at Repsol Honda|
|Fernando replaces injured Pradeep in Sri Lanka squad|
|China v Iran: Queiroz wants to exorcise 2015 quarter-final|
|Balotelli joins Marseille until the end of the season|
|Emery gives Monchi ringing endorsement amid Arsenal sporting director links|
|Larry Fitzgerald returning to Cardinals on one-year deal|
|Watson absence ´an opportunity´ for Scotland hopefuls, says Townsend|
|Pochettino open to new signings but Janssen to remain a Spurs outcast|
|´No trace´ of aircraft so far in Sala search|
|Pochettino will not judge Sarri for criticising Chelsea players|
|From front row to four in a row - Best takes on Farrell at Connect 4|