Heinrich Klaasen and JP Duminy blasted half-centuries as South Africa set up a Twenty20 international series decider against India with a six-wicket victory in the rain at Centurion.
Manish Pandey, who made a highest T20 international score of 79 not out from 48 balls, and MS Dhoni (52no off 28) put on 98 off 56 deliveries to get India up to 188-4 in wet conditions.
It looked like that might be enough for the tourists to take an unassailable 2-0 lead, but Klaasen's devastating 69 off only 30 balls - including seven sixes - and an unbeaten 64 from captain Duminy got South Africa home with eight balls to spare.
It proved to be a miserable night for Yuzvendra Chahal, whose figures of 0-64 were the worst by an Indian in T20Is.
Shikhar Dhawan successfully reviewed after being given out lbw first ball, but Junior Dala removed Rohit Sharma lbw with his first ball.
Duminy dismissed Dhawan (24) when he was looking ominous and Dala produced a beauty to claim the prized scalp of Virat Kohli caught behind (1) - reducing India to 45-3 in the sixth.
Raina and Pandey consolidated the innings before the latter cut loose, slog-sweeping Tabraiz Shamsi for a couple of sixes in an over and reaching his half-century off only 33 balls as the rain fell after Raina departed for 31.
Pandey struck Morris for a huge six into the crowd at midwicket and Dhoni took Dane Paterson apart in the final over to make a 50 of his own after he was dropped by Dala on 29.
Jaydev Unadkat and T20 international debutant Shardul Thakur, in for the injured Jasprit Bumrah, dismissed JJ Smuts and Reeza Hendricks respectively as the Proteas were reduced to 38-2 after five overs.
Klaasen stepped up when they needed him, though, smashing a couple of slower balls from Unadkat over the ropes before taking a liking to Chahal - hitting the spinner for five sixes - as Duminy ticked over nicely at the other end.
Unadkat returned to end Klaasen's brutal knock and South Africa needed 47 from the last five overs with six wickets in hand after David Miller fell cheaply, but Duminy hit his third six of a brilliant knock to square the series.
|Pogba: Kante, Matuidi have 15 lungs|
|Julian Nagelsmann: the Bundesliga prodigy swapping Hoffenheim for RB Leipzig|
|England dominate in Durham to close in on series whitewash|
|´Fortunate´ Federer closes in on Halle title|
|Calamity Caballero and Sampaoli tinkerings leave Argentina a broken mess|
|Wimbledon champion Muguruza confident despite Birmingham defeat|
|Argentina 0 Croatia 3: Caballero drops clanger as Messi´s men are stunned|
|Funes Mori departs Everton to join Villarreal|
|Djokovic beats Dimitrov as Kyrgios lays down a marker|
|Relegated Verona appoint World Cup winner Grosso|
|Trotz named Islanders´ new coach|
|Matic and Serbia ready for ´hellish´ Switzerland clash|
|Fleetwood flounders as Gros takes Pulheim lead|
|No attacks on Neymar, pledges Costa Rica boss Ramirez|
|Giroud return brings structure to France, but again they disappoint|
|Brighton sign Sunderland goalkeeper Steele|
|Schmeichel and Eriksen blast ´exceptionally harsh´ VAR penalty|
|Nigeria´s young World Cup squad learning on the job - Rohr|
|Moody: England players need protection|
|France 1 Peru 0: Mbappe books last-16 spot with record goal|
|I don´t need anyone to hold my hand - Verstappen|
|Captaincy comes back around to Silva as 2014 pain fades|
|We don´t want to be losers - Petkovic|
|Alba not interested in Barcelona exit as Tottenham rumours swirl|
|BREAKING NEWS: Nagelsmann to take RB Leipzig role in 2019|
|Messi cannot be compared to Maradona, claims Argentina World Cup winner Kempes|
|Mbappe sets France record with maiden World Cup strike|
|Federer comes through tough Halle test|
|Nagelsmann to leave Hoffenheim amid RB Leipzig rumours|
|Gerrard brings former Liverpool team-mate Flanagan to Rangers|
|Cipriani to be ´the calmest guy in the room´ on England return|
|C´est magnifique! Lloris earns 100th France cap|
|Belgium v Tunisia: Hazard hoping for World Cup lift off|
|WATCH: Manchester United ditch piano to welcome Fred the red|
|Hamann springs to defence of Ozil|
|Alonso non-committal on future after Le Mans triumph|
|McInally returns to Scotland starting line-up|
|Giroud & Matuidi start as Deschamps drops Dembele for Peru|
|Torreira focused on Uruguay amid Arsenal links|
|NBA Mock Draft 2018: Deandre Ayton leads intriguing first round|
|Tite will not take away Neymar´s ´genius´|
|Australia show promise but calls for Cahill ignored amid lack of cutting edge|
|Manchester United means greatness - Fred aiming for titles following Old Trafford switch|
|Denmark 1 Australia 1: Jedinak strikes back after Eriksen rocket|
|Neymar not being put at risk by Brazil, says Tite|
|Juventus complete signing of free agent Emre Can|
|Fred completes Manchester United switch|
|Dembele will not join a Spurs rival|
|What were the 0.4 per cent doing? Iceland captain marvels at TV audience|
|Forsberg ready for ´next big step´ after RB Leipzig|
|´Retired´ Brits on bench as Springboks ring changes for final Test|
|Meninga: Key Kangaroos positions up for grabs in Origin|
|FIFA gets shirty over Ronaldo claims|
|Soyuncu keen on Arsenal switch|
|Atmosphere much better after criticism, says Hummels|
|FIFA issues statement after ´questionable´ Amrabat decision|
|Cipriani and Robshaw to start for England at Newlands|
|Team Sky hit back at Hinault´s ´irresponsible´ Froome comments|
|Iran fans are the real winners as women get glimpse of the future|
|Beckham predicts England-Argentina World Cup final|
|Napoli should sign Meret, Zenga claims|
|Meticulous Mouratoglou shaping stars of the future|
|Journalist hands Khedira boarding pass for early flight home|
|Germany v Sweden: Muller upbeat ahead of huge World Cup clash|
|South Korea v Mexico: Germany´s conquerors set for role reversal|
|Chandimal appeals against one-match ban|
|Fofana and Lamerat start, Parra skipper for final All Blacks Test|
|Asia and Africa being left behind - Queiroz|
|Emre Can arrives for Juventus medical|
|Championship fixtures: Bielsa´s Leeds face Stoke while Lampard´s Derby go to Reading|