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.
|Strauss ´stepping away´ from England role to support wife|
|BREAKING NEWS: Argentina rule Romero out of World Cup|
|Emery´s website appears to confirm Arsenal appointment|
|´Inspiring´ Guardiola has made Fleetwood a better golfer|
|Two trophies in a week! Torres leaves Atletico Madrid in style|
|I died a thousand deaths - Yates set for Giro defensive after time trial|
|Hamsik hints at Napoli exit amid China rumours|
|Rowett swaps Derby for Stoke|
|Thiem comfortable in victory as rain delays Wawrinka|
|Schmelzer gives up Borussia Dortmund captaincy|
|Top seed Stephens struggling at Nuremberg Cup|
|This is the wrong information - Vieira rejects Nice speculation|
|France rest Guirado, recall Thomas for New Zealand tour|
|Warriors´ Iguodala upgraded to questionable for game four|
|Simmons, Mitchell unanimous picks for NBA All-Rookie first team|
|AC Milan referred over alleged FFP breaches|
|F1 Raceweek: Ferrari and Red Bull target Monaco upturn|
|Horoya 2 Mamelodi Sundowns 2: Camara header denies visitors´ comeback|
|Du Plessis rescue mission takes Super Kings to IPL final|
|Seedorf to leave relegated Deportivo|
|Wenger turned down Real Madrid ´two or three times´|
|Kane dreams of lifting World Cup trophy as England captain|
|UEFA opens disciplinary proceedings against Liverpool & Roma|
|Yates stays on course for Giro title, Dennis wins time trial|
|Brighton sign Nigeria international Balogun|
|Ronaldo again pips LeBron and Messi as sport´s most famous star|
|Marcelo fears backlash if Madrid lose Champions League final|
|Messi joins Argentina´s World Cup training camp|
|FIFA finds no doping cases in Russia´s World Cup squad|
|Liverpool´s strikeforce reminds Ronaldo of Real Madrid|
|Hysaj staying at Napoli ´regardless of Sarri´s future´|
|Amir fully fit for Lord´s Test|
|A fast start to life - The Golden Knights and the expansion teams who excelled early|
|Molina gets two-year anti-doping ban for positive test after Joshua bout|
|Ramos: We´re a vintage Real Madrid team|
|Klopp key to controlling Liverpool emotions, says Alonso|
|Bjorn names Westwood, Harrington, Donald and McDowell as Europe vice-captains|
|Scarlets players left wounded by ´shocking´ Scotstoun pitch|
|Arsenal fined £20,000 for Leicester penalty protest|
|Storm offer Bellamy ´significant´ deal amid reported Broncos interest|
|Rashford writes moving tribute on anniversary of Manchester Arena attack|
|Heaton backs Kane´s captaincy credentials|
|Salah deserves Ballon d´Or if Liverpool win Champions League – Owen|
|Wasps flanker Willis out for up to a year|
|Real Madrid v Liverpool: Is the Champions League enough to save Zidane?|
|I was left out on reputation - Nainggolan angered by World Cup snub|
|Pellegrini targets Europe with West Ham|
|Lopetegui extends Spain contract|
|Edinburgh-bound Barclay´s Scarlets career over following Achilles surgery|
|Saints swoop for NRL star Naiqama|
|Zidane: Be careful when you criticise Ronaldo|
|It doesn´t get better - Stevens relishing best-of-three shootout for Celtics|
|Favre named new Dortmund boss|
|LeBron and Lue hail evergreen Kyle Korver|
|Kane named England captain for World Cup|
|Wright slams Arsenal over Emery: It´s like a sushi shop!|
|Pellegrini named new West Ham manager|
|Late drama and sustained Ronaldo magic - Real Madrid´s road to the Champions League final|
|Yankees´ home runs fuel win over Rangers|
|LeBron scores 44 points as Cavs level series against Celtics|
|Kaufusi re-signs with Melbourne Storm|
|LeBron James sets record for postseason field goals|
|Monchi: Alisson will only leave Roma if I come out of retirement!|
|No offers from Chelsea or Zenit, says Sarri´s agent|
|No Champions League pressure as PSG´s Tuchel calls for patience|
|Nationals´ Juan Soto hits homer in second career at-bat|
|Buffon to decide future in a week amid PSG speculation|
|Eli Apple embarrassed by 2017 antics, ready to move forward|
|Bills release Richie Incognito from reserve/retired list|
|Gentry and Pelicans want Cousins back in New Orleans|