With AB de Villiers missing, South Africa lacked the batting fire power to threaten India who set a stiff target of 204, thanks to Shikhar Dhawan's 72.
Reeza Hendricks and JJ Smuts began the chase, with Bhuvneshwar striking early to send back Smuts.
Stand-in skipper JP Duminy and experienced T20 star David Miller didn't last long either with Bhuvneshwar and Pandya getting the better off both the players.
Farhaan Behardien and Reeza Hendricks then stuck together to stitch an 81-run partnership but at no stage did it seem India were in trouble as big overs eluded South Africa.
With the pressure mounting, Chahal got the better off Behardien, who holed out at long on.
Then, Bhuvneshwar returned to pick up three wickets in an over and also a run out which resulted in a team hat-trick for India as South Africa were reduced to 175/9 in their chase.
Earlier, put into bat, India got off to a rollicking start with Rohit Sharma going big right from ball 1.
He hit a quick-fire 21 off just 8 balls to give India the momentum, which every batsmen capitalised on.
Shikhar Dhawan played the anchor role, stitching partnerships with Suresh Raina, Virat Kohli and Manish Pandey.
All Indian batsmen got off to good starts and everyone scored in double figures, but it was Dhawan's 72 off just 39 balls which helped India cross 200.
Raina and skipper Kohli contributed as well scoring quick-fire 26 and 15 respectively. But what will be good news for Indian fans was middle order, led by Dhoni and Pandey chipped in as well, with 29 and 16 runs respectively.
Debutant Junior Dala picked up two wickets for South Africa, with leg-spinner Shamsi and Chris Morris also picking up wickets at crucial intervals, when at one stage it seemed India would post somewhere around 220-230.
The action will now move to Centurion where South Africa will look to pose a stiffer challenge to this dominant Indian batting line-up.
The only worrying news for Indian fans would be the fact that Virat Kohli stayed off the field for most of the South African innings as he did some damage to his glutes while going for a quick single.
Bhuvneshwar KumarIndia south africa t20ijj smutsJohannesburg T20Ishikhar dhawanSouth Africa vs India 2018virat kohli
First Published: February 19, 2018, 8:15 AM IST