With quick wickets, India appeared to have brought things largely under control, which was turned around by Heinrich Klaasen with David Miller at the other end. It looks like Klaasen didn't expect Pandya to go so far wide outside off, reaches out for the length delivery and edges it to Rishabh Pant, who took some time off the game to get some treatment on his legs and that seems to have broken Klaasen's momentum.
South Africa now needed just 16 to win off the last 6 balls.
Earlier, Jasprit Bumrah provided India with the first breakthrough when he cleaned up Reeza Hendricks for four in the second over.
Arshdeep Singh struck in the third over when he had South Africa captain Aiden Markram (4) caught behind.
Axar Patel cleaned up Tristan Stubbs (31) to break a dangerous third-wicket stand after the right-hander added 58 runs with de Kock, who was batting on 30 with Heinrich Klaasen (8 not out) on the other end.