Fielding first after winning the toss, the Proteas bowlers were excellent as they restricted India to 148 for 6. Bhuvneshwar Kumar (4/13) claimed three wickets in his opening spell to reduce the visitors to 29 for 3.
However, Heinrich Klaasen’s sensational 81 off 46 lifted South Africa to an impressive victory in 18.2 overs.
After Bhuvneshwar’s early strikes, South African skipper Temba Bavuma (35) and Klaasen batted with authority to take the visitors to 57 for 3 at the halfway stage of the chase.
Klaasen thumped Yuzvendra Chahal for a four and a six in the ninth over to put the pressure back on India.
Nineteen came off the 12th over bowled by Axar Patel, the left-arm spinner's first in the innings, as South Africa began taking control of the chase.
After punching a four past extra cover, Klaasen clubbed the next ball over the ropes at wide long-on. There was more frustration for India and Axar as an inside edge sped to the fine leg boundary.
Chahal broke the fourth-wicket partnership of 64 by cleaning up Bavuma for 35 as the South African captain picked the wrong length to play a pull shot.
Klaasen, though, carried on and brought up his fifty off 32 balls. He celebrated by whipping a 'hit-me' ball from Hardik Pandya over long-on.
With 34 needed off the last five overs, the Proteas completely shut India out of the contest, clobbering Chahal for 23 runs. After David Miller (20*) smacked a six over long-on, Klaasen helped himself to two more maximums.
Klaasen's terrific knock ended on 81 as he hit Harshal Patel to long-on, trying to finish off the game with another big hit. Bhuvneshwar picked up a fourth when he cleaned up Wayne Parnell (1).
The winning runs came off Miller's bat as he picked a couple off Shreyas Iyer's bowling.
Earlier, Bhuvneshwar got India off to an impressive start with the ball, cleaning up Reeza Hendricks (4) in the first over. The South African opener was completely flummoxed by a delivery that shaped back in and was castled.
Dwaine Pretorius was promoted to No.3 for the second game in a row, but the move failed this time. On 4, he miscued his slog off a Bhuvneshwar slower ball and was caught at backward square leg.
Bhuvneshwar's brilliance with the ball continued as he bowled Rassie van der Dussen (1) with another delivery that shaped back in and kept a touch low.
The Indian pacer's stunning performance left South Africa reeling at 29 for 3 at the end of the powerplay. However, Klaasen displayed his class to guide the Proteas to victory.
Clinical South African bowling restricts Team India to 148 for 6
The South African bowlers came up with a highly efficient effort to restrict India to 148 for 6 after the visitors won the toss and fielded first.
The Men in Blue could never get any momentum into their innings, as a result of which they were restricted to under 150.
India got off to a poor start as Ruturaj Gaikwad (1) sliced an unconvincing drive off Kagiso Rabada (1/15) to backward point. Ishan Kishan got some energy into the innings, whipping Anrich Nortje for sixes over midwicket and backward square leg.
He also smashed Dwaine Pretorius (1/40) for a maximum but India could only reach 42 for 1 at the end of the powerplay.
Nortje ended Kishan's (34 off 21) resistance when the left-hander miscued a hook off a well-directed short ball to deep square leg. Skipper Rishabh Pant's (5) poor run with the bat continued as he sliced a wide delivery from Keshav Maharaj (1/12) to deep point.
This was the left-arm spinner's first delivery of the match and he preempted Pant's charge, thus outsmarting him.
Hardik Pandya (9) was cleaned up by Wayne Parnell (1/23), trying to cut a ball that was too close to him. Shreyas Iyer hung around for a patient 40 before nicking a slower leg-cutter from Pretorius to the keeper.
Nortje had a second when he knocked over Axar Patel (10) with a pacy delivery. Dinesh Karthik (30* off 21) began slowly but ended up hitting two fours in the penultimate over and two maximums in the last over to lift the hosts to some respectability.
India vs South Africa 2022: Who was Player of the Match in 2nd T20I?
Pacer Rabada was brilliant for the visitors with figures of 1 for 15 from his four overs, while Nortje claimed two even though he went for a few. With the bat, Klaasen dominated proceedings during his 81, smashing seven fours and five sixes.
For India, Shreyas top-scored with 40 while Bhuvneshwar was superb with the ball. His three early wickets kept the hosts in the game before Klaasen blew them away.
Klaasen, who only got a chance because Quinton de Kock was injured, was named Player of the Match for his splendid innings.