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.
|Does he only care about his hair? - Denmark coach Hareide slams Pogba, France|
|Rockets push Warriors to brink of elimination|
|World number 84 Kicker suspended for match-fixing|
|WATCH: Paul shimmies in Curry´s face|
|Copa Libertadores Review: Estudiantes into last 16 after thrilling win over Nacional|
|Ronaldo: Cristiano and Neymar would be good together at Madrid|
|Rockets honour Santa Fe victims, first responders at game five|
|Real Madrid rejected €150m offers for Asensio – agent|
|Marshall, Baldwin react strongly to Trump´s comments on NFL anthem stance|
|Nabura handed six-week ban for wild kick|
|Pedroia to return for Red Sox on Friday|
|Warriors´ Iguodala ruled out for game five against Rockets|
|Na leads as Spieth makes solid start at Colonial|
|James Harden, LeBron James headline 2017-18 All-NBA first team|
|Manchester United target Fred to decide future after World Cup|
|´Incredible´ Salah is like Messi, says Ronaldo|
|Salah a big candidate for Ballon d´Or - Muller|
|Message from coach keeping Masters champion Reed grounded|
|Anybody can really win it - Seles feels French Open is wide open this year|
|Mambo number 5! - Non-league star channels Lou Bega hit|
|Pakistan to stop wearing smart watches after ICC intervention - Hasan|
|Saha hails ´great man´ Ferguson as legendary Man Utd boss continues recovery|
|Emery´s depth of knowledge impressed Arsenal´s Gazidis|
|Conceicao extends Porto contract|
|Lomax impresses as Saints overrun Tigers|
|McIlroy in contention at Wentworth as Bjerregaard sets the early pace|
|Bad light calls time on Thiem, Wawrinka out in Geneva|
|Garitano in, Canales out at Real Sociedad|
|Caparros accepts new role at Sevilla|
|Pliskova downed by Larsson after drawing Serena in Paris|
|They´re using the anthem as fake patriotism - Warriors coach Kerr critical of NFL|
|Lyon win record fifth Women´s Champions League title|
|French Open 2018: Doing the unthinkable - the men most likely to topple Nadal|
|French Open 2018: How can Rafael Nadal be stopped?|
|Steve Smith named as marquee player for Global T20 Canada|
|Can Emre play? Yes he Can... and so can Milner|
|Liverpool working to help fans after flight cancellations|
|Abbas and Hasan torment sorry England|
|Xavi ´thrilled´ to sign two-year Al Sadd extension|
|Holtby extends Hamburg contract despite relegation|
|Nadal begins French Open defence against Dolgopolov|
|Serena drawn to play Pliskova in French Open first round|
|FA condemns assault of match official|
|Bologna confirm Donadoni departure|
|Yates lead halved in Giro d´Italia|
|Connacht turn to Friend|
|Scotland lose injured Dunbar for June tour|
|Spalletti in ´no rush´ to sign new Inter deal|
|Ricciardo and Red Bull dominate Monaco practice|
|Mauricio Pochettino signs new deal with Tottenham|
|Pochettino signs new deal with Tottenham|
|Istanbul to host 2020 Champions League final|
|Williams sisters given French Open wildcard|
|President Donald Trump praises NFL´s anthem stance|
|Buffon in consideration for Italy call, says Mancini|
|Roberts injured in Broncos win against Eels|
|Atletico complete move for Villarreal star Rodri|
|Ozil, Gundogan not playing politics, says Low|
|Valencia complete permanent Kondogbia signing|
|Fairytale ending could be in the script, says World Cup-bound Vardy|
|Milwaukee police apologise to Bucks´ Brown over tasering|
|Television, crosswords and Nintendo - Koscielny´s remedy to World Cup heartache|
|World Cup not an audition for Barca or Madrid, says Germany star Werner|
|Neck injury rules Kohli out of Surrey stint|
|Nine LaLiga titles and 674 club games under nine managers - Iniesta in Opta numbers|
|49ers Enterprises takes stake in Leeds United|
|Manchester United should sell Pogba if he´s unhappy - Scholes|
|Andres Iniesta´s nine LaLiga triumphs with Barcelona|
|Andres Iniesta: The footballers´ footballer|
|Real Madrid v Liverpool: Salah has foundations in place for Ballon d´Or challenge|