After a disappointing show with the bat in the series opener in Johannesburg, the Proteas batters bounced back in style, making a mockery of a modest 212 chase.
Ton-up de Zorzi led the chase from the front with a superb unbeaten 119 and shared a record 130-run opening stand with Reeza Hendricks. The 26-year-old then added another 76 runs with Rassie van der Dussen to take the game completely away from India.
After a below-par outing with the bat, bowlers too had an off day defending 211 as India could only manage a couple of wickets.
With the Proteas convincingly winning the second game, the series goes to the decider. The final game of the ODI series will be played at Boland Park in Paarl on Sunday.
The 26-year-old de Zorzi, playing only his fourth ODI, smashed nine fours and six maximums during his counter-attacking 122-ball 119 not out as South Africa completed the chase with 7.3 overs to spare.
As It Happened
Put in to bat, opener B Sai Sudharsan and skipper KL Rahul made well-compiled fifties but once they were gone, India stumbled their way to 211 all out in 46.2 overs.
On a track offering pace and bounce, Burger (3/30 in 10 overs) bowled his heart out to snap three crucial wickets, while Beuran Hendricks (2/34 in 9.2 overs) and Keshav Maharaj (2/51 in 10 overs) claimed two each.
Defending the below-par total, India needed early wickets but they failed to make any breakthrough as openers de Zorzi and Hendricks (52) set the platform for the chase with a commanding 130-run stand.
Once Reeza was out, de Zorzi and Rassie van der Dussen (36) added 76 off 83 to take SA to just six short of a victory.
The left-handed de Zorzi then knocked off the winning runs with a six as the hosts reached 215 for 2 in 42.3 overs. They recovered from their eight-wicket hammering in Johannesburg to keep the series alive.
Chasing 212, Hendricks held on to one end, while de Zorzi played his shots as the two batters didn’t give much chance to the Indians despite pace duo of Arshdeep Singh (1/28) and Mukesh Kumar (0/46) bowling a good spell in the powerplay.
The only chance that went abegging was when Ruturaj Gaikwad failed to hold a catch of Hendricks off Mukesh in the 5th over.
De Zorzi reached his fifty in the 18th over before completing the century off 109 balls. Reeza, on the other hand, took 71 balls to reach his half century with the help of seven fours.
Arshdeep got rid of Reeza in the 28th over, while debutant Rinku Singh claimed van der Dussen’s wicket when SA were just six runs short of the target.
Earlier, Sudharsan and Rahul added 68 runs for the third wicket but South African bowlers forced their way back into the game with regular strikes.
Gaikwad (4) was first to go when he was trapped in front in the second ball by Burger, who bowled 46 dots balls in his 10 overs.
Sudharsan was all class as he played his off drivers and pulls with ease for boundaries as India reached 46 for one in the first powerplay.
However, Tilak Varma (10) was sent back by Burger with a bouncer, bringing skipper Rahul on to the crease.
With the South African seamers bowling in tandem, runs dried up as India could score only 10 runs in next six overs from 11 to 16.
But once spinner Keshav Maharaj (2/51 in 10 overs) was introduced, Sudharsan launched him over deep mid-wicket for the first six.
In the 20th over, Sudharsan dived to complete a risky singles to complete his second successive fifty.
After a watchful start, Rahul produced two pull shots for successive boundaries off Wiaan Mulder (0/19 in 4 overs), before finding the ropes off Lizaad Williams (1/49 in 9 overs) and Aiden Markram (1/28 in 4 overs) to bring up the team 100 in the 24th over.
However, Williams broke the partnership, dismissing Sudharshan, who was a bit surprised by the extra bounce and ended up edging one to Heinrich Klaasen.
Sanju Samson then dragged one on to the stumps off Beuran Hendricks (2/34 in 9.2 overs) as India slipped to 136 for four in 32 overs.
Rahul punished Maharaj for a poor delivery with a sweep shot and then picked up three runs to complete his fifty in 60 balls, while debutant Rinku Singh danced down the pitch to send the spinner over long-on as 16 runs came off the 35th over.
Rahul then played a ramp shot for a four and just when things were looking up, it all went downhill.
First, Rahul was removed by Burger for his third wicket and then five balls later, Rinku was stumped off Maharaj’s bowling as the visitors were suddenly reduced to 169 for six.
Maharaj then accounted for Kuldeep Yadav (1), while Axar Patel (7) holed out at long-off off Markram.
BCCI retires MS Dhoni’s Iconic Jersey No 7 to honour his contribution to Indian cricket
Avesh Khan (9) and Arshdeep Singh (18) then smashed a six each to take India past the 200-run mark.
(With inputs from PTI)