The Otago wicketkeeper-batsman was completely set and looked on track to score a big century in his 200th one-dayer and guide New Zealand to the score of 300-plus that they needed.
But his dismissal triggered a minor collapse and the Kiwis lost three wickets and scored only 20 runs in their batting power play.
Jesse Ryder (0), James Franklin (6) and Kyle Mills (0) all came and went as the innings lurched toward an inferior total.
Tim Southee did his best to pull back some respectability as he belted 28 from 27 balls to register his second-highest score in one-day internationals.
Andy Ellis (19) also produced a couple of flashes of the willow before he was the last man to go and New Zealand could only look up to see 230 all out in the 48th over on the scoreboard.
Morne Morkel finished with 5-38 from his 9.3 overs in a man-of-the-match performance.
It was never going to be enough, particularly not when you consider South Africa's power-packed batting order.
The Proteas might have been without Graeme Smith, who missed the clash with a sore arm, but Hashim Amla crafted a brilliant 92 from the top of the order to provide the backbone of his side's run chase.
As the Kiwi bowlers ran in and bowled a collection of half volleys and half trackers during the opening overs, Amla obliged and peppered the McLean Park boundaries with a mixture of impressive strokes.
It almost seemed unfair the right-hander was dismissed by Tarun Nethula late in the game, just short of what would have been his 10th one-day international century.
South African coach Gary Kirsten didn't have to worry though as Faf du Plessis (34) and JP Duminy (43) were on hand to support Amla throughout his effort.
Once they had departed it was left to de Villiers (31 not out) and Ontong (17 not out) to bring the side home in the 39th over and wrap up the three-match series with a game to spare.
For the home side, Nethula claimed 2-60 from 10 overs and was unlucky not to have Amla earlier as Rob Nicol dropped a sitter at long off when he was on 61.
It wouldn't have made a huge difference in the grand scheme given New Zealand's paltry total but may have given them a sniff of an upset.
Andy McKay - like Nethula - was added to the squad for today's game and ran in with plenty of vigour as he was unlucky to not claim a scalp during his 10 overs, which conceded 45 runs.
The third and final one-dayer is scheduled to be played at Eden Park on Saturday, before the sides tangle in three tests starting next week.
Scoreboard