Lungi Ngidi crowned a dream Test debut with second-innings figures of 6-39 as South Africa thumped India by 135 runs in Centurion to secure victory in their three-match series with a game to spare.
India's hopes of avoiding defeat in the second Test were slim when they began the final day on 35-3 in pursuit of 287, Ngidi having picked up two wickets - including the prized scalp of Virat Kohli - the previous evening.
On a wearing surface offering variable bounce, the tourists made life much tougher for themselves with a series of reckless dismissals in Wednesday's morning session.
Despite a defiant 47 from Rohit Sharma, India were ultimately dismissed for 151, with Ngidi the star of the show as South Africa opened up an unassailable 2-0 lead and ensured India will suffer a first series defeat since Kohli was appointed as their full-time Test captain.
SOUTH AFRICA WIN BY 135 RUNS!!! They win the series by going 2-0 up in the three-matches. The final wicket goes to the man of the moment @NgidiLungi, Bumrah (2) caught low by Philander. A six-for for Ngidi #ProteaFire #SAvIND #SunfoilTest pic.twitter.com/SvkHnsJjiQ— Cricket South Africa (@OfficialCSA) January 17, 2018
Excelling on home turf, Ngidi's first notable contribution on day five came in the field as Cheteshwar Pujara made unwanted history by becoming the first India player to be run out twice in one Test.
After a sliding stop from Ngidi on the boundary, AB de Villiers' throw saw Pujara short of his ground as the batsman and Parthiv Patel chased a third run.
Parthiv was the next man to give his wicket away, his wild hook off Rabada (3-47) superbly caught by a diving Morne Morkel at fine-leg.
And more irresponsible batting followed as Hardik Pandya was caught behind for six attempting to ramp Ngidi over the slip cordon.
Ngidi soon struck again to remove Ravichandran Ashwin, but a fifty stand between Rohit and Mohammed Shami (28) delayed the inevitable.
Rohit eventually fell victim to another wonderful catch, this time from De Villiers following another ill-advised hook off Rabada, and Ngidi completed his five-for with the wicket of Shami before ousting Jasprit Bumrah to finish the match.
|Warnock enjoyed ´poetic justice´ of Kenedy´s penalty woe|
|Holders Eintracht Frankfurt stunned by Ulm in DFB-Pokal|
|West Ham 1 Bournemouth 2: Wilson, Cook condemn Hammers to successive losses|
|Tottenham 3 Fulham 1: Trippier and Kane help Spurs avoid Wembley wobble|
|Leicester City 2 Wolves 0: Lucky Foxes win despite Vardy red card|
|Everton 2 Southampton 1: Richarlison continues fine start|
|Drochtersen/Assel 0 Bayern Munich 1: Lewandowski spares Bayern´s blushes|
|Violent hack, no passes, missed penalty - Kenedy´s Cardiff nightmare|
|Ronaldo handed Juventus debut against Chievo|
|Cheika and Hooper frustrated by second-half slump|
|Hansen issues warning after All Blacks win Wallabies ´prizefight´|
|Stuttgart stay good for Pavard, says Reschke|
|You can´t buy class - United boss Mourinho blasts City documentary|
|Cardiff City 0 Newcastle United 0: Penalty miss rounds off abject day for Kenedy|
|Lopetegui open to rotating Real Madrid goalkeepers|
|´World´s best´ Alisson will be difficult to replace, says Roma boss Di Francesco|
|Dragons and Sharks pounce on Panthers after four get sin-binned|
|AC Milan situation has proved FFP works - UEFA president Ceferin|
|Marseille´s Garcia uninterested in striker despite Balotelli link|
|Goodhue sparkles on debut as All Blacks thump Wallabies|
|I feel like chicken tonight - Saunders game for a laugh after Wilder fowl play|
|Aubameyang-Lacazette partnership possible for Arsenal|
|Pant handed debut as India ring changes at Trent Bridge|
|Pochettino pledges to protect Kane|
|Federer relieved to ´hang tough´ in Cincinnati|
|De Bruyne injury: Can Foden or Diaz replace Man City playmaker?|
|Furyk confident as Team USA takes shape|
|Neymar´s behaviour deserves praise, Tite claims|
|Scherzer, Harper lead Nationals past Marlins|
|Djokovic and Federer join Cilic, Goffin in Cincinnati semis|
|Federer outlasts recovering Wawrinka|
|WATCH: Djokovic wins match, loses car|
|Bolt arrives in Sydney for A-League trial|
|Red-hot Bertens beats Svitolina, Halep marches on|
|Snedeker preserves Wyndham lead|
|Halep hits back to torment Tsurenko|
|Raonic fails to break Djokovic stranglehold|
|Emery seeks more ´demanding´ Ozil|
|CAF Champions League Review: Wydad, Al Ahly & TP Mazembe qualify|
|Stephen Curry wants to finish his career with Warriors|
|Hazard among Europe´s best but can improve, says Sarri|
|Tigers boost top-two hopes, Giants close in on fourth|
|Birmingham City 0 Swansea City 0: Monk´s men held despite dominance|
|Inter taking legal action against Tebas over Modric transfer comments|
|Serie A transfer round-up: Zaza joins Torino, Parma sign Gervinho|
|Roma chief Pallotta makes light of De Laurentiis claim|
|Federer starts double-header by seeing off resilient Mayer|
|Ospina joins Napoli on loan from Arsenal|
|Klavan completes Cagliari switch|
|Djokovic holds out against Dimitrov as Raonic awaits|
|New dates confirmed for postponed Serie A fixtures|
|Halep breezes past Barty to set up Tsurenko clash on same day|
|Olesen unable to capitalise on strong start as Jamieson, Waring go clear|
|Hoffenheim tie Kramaric to four-year deal|
|Mina to miss Southampton clash while Gomes is ´weeks´ away|
|Barcelona coach Valverde dismisses Pogba speculation|
|Valverde not prioritising Champions League over defending Barcelona´s LaLiga title|
|Allegri thanks outgoing Juventus icon Marchisio|
|Pants display from Beef? Johnston forced into change of trousers in Sweden|
|Tour champion Thomas has Welsh velodrome named in his honour|
|Gloucester surprised and disappointed by RFU´s swift Cipriani charge|
|Storm skipper Smith´s back injury not ´too serious´|
|Spurs fixture switch doesn´t appeal to Guardiola|
|Brazil call up Andreas Pereira & Arthur but omit Man City stars|
|Mbappe returns to PSG squad, Kehrer set for debut|
|No Messi in Argentina squad as Simeone wins first call-up|
|England man Roy embarrassed by self-inflicted facial injury|
|Atletico Madrid fined for breaching third-party regulations|
|Cipriani charged by RFU after common assault conviction|
|No contact, no negotiation - Leonardo denies AC Milan deal for Milinkovic-Savic|