Quinton de Kock and bowlers starred for South Africa as the visitors came back from 1-0 down to draw the three-match series 1-0 in Bengaluru on Sunday.
After the bowlers managed to restrict the hosts for a modest 134/9 from their quota of 20 overs, De Kock took the onus upon himself to finish the job for his country.
De Kock and Reeza Hendricks put on 76 for the first wicket before the latter fell but the Protea captain dug in and remained not out on 79 as South Africa won the game with 19 balls to spare.
For India, Hardik Pandya picked up the lone wicket of Hendricks.
However, this was a failure of batting more than the bowlers as the batters failed to take the onus on themselves on a batting-friendly wicket at the Chinnaswamy.
Shikhar Dhawan scored 36 off 25 but others struggled to get going.
Rishabh Pant once again failed to do the job as he threw his wicket away after a promising start. Pant's dismissal was marked by a flurry of wickets as India struggled to score runs and in the end, just put on 134 on the board.
For South Africa, Beuran Hendricks (2/14) and Bjorn Fortuin (2/19) stemmed the flow of runs while Kagiso Rabada picked 3/39 from his four overs.
Earlier, India were stopped at 134 for nine by a disciplined South African attack.
Top-scorer Dhawan blazed away to a 25-ball 36 and got India off to a brisk start that yielded them 54 runs in the first six overs.
Rohit Sharma got out early but he did put pace spearhead Kagiso Rabada under pressure straight away, striking him for two boundaries in his first over – one over cover and the other through extra cover.
That brought crowd favourite Kohli in the middle but Dhawan, who began the innings with a boundary, was in charge and welcomed leg-spinner Tabraiz Shamsi with back-to-back sixes.
The first six was smashed over long-on and the for the second maximum, Dhawan sashayed down the ground, played against the turn, before striking the ball towards long-off.
Going for one too many, Dhawan mistimed Shamsi, who had his revenge after Temba Bavuma completed a neat catch. Kohli, too, followed suit as Andile Phehlukwayo pulled off a fine running catch in the deep, much to Rabada, the bowler on the occasion, and his team's relief.
Shreyas Iyer and Rishabh Pant, who improvised to scoop Dwaine Pretorius over the fine leg boundary, threw away their wickets within two balls, leaving India in trouble at 92 for five in the 13th over.
After Pant fell prey to Fortuin's smart piece of bowling, Iyer stepped out only to be stumped off a wide ball.
It was yet another failure for Pant and once again to a left-arm spinner. After Santner accounted for him in the World Cup, Fortuin has now got him twice in two games.
The two sides will next meet in the three-match Test series, starting on October 2 at Dr. Y.S. Rajasekhara Reddy ACA-VDCA Cricket Stadium, Visakhapatnam.
Brief Scores: India 134/9 (Shikhar Dhawan 36, Kagiso Rabada 3/39, Beuran Hendricks 2/14). SA 140/1 in 16.5 overs(Quinton de Kock 79 no off 52 balls).
(With PTI Inputs)