De Villiers won the toss and elected to field, and that proved to be a good choice as the Kiwis got off to a poor start, with James Neesham dismissed for 16.
Imran Tahir put the hosts further on the backfoot when he dismissed Dean Brownlie for 24, and he was quickly followed back to the pavilion by Brendon McCullum and Corey Anderson, who both fell to Morne Morkel to leave the hosts reeling at 68-5.
Ronchi ensured that New Zealand would remain competitive as he took the attack to the Proteas to reach his half-century. The 33-year-old began his onslaught to push the Kiwis over the 200-run mark with several boundaries, with Ryan McLaren taking most of the punishment.
The wicket-keeper moved closer to his century, but fell agonisingly short as he was caught behind off the bowling of Dale Steyn for 99. Nevertheless, he had still helped his side post a total of 230.
The South African reply started badly as opener Quinton de Kock fell in the second over for just nine off the bowling of Trent Boult. The left-armer snagged his second wicket of the innings when he had Faf du Plessis caught behind by Ronchi for eight.
Amla did not last much longer as he was bowled by Mills, leaving the South African's teetering at 97-4.
The experience of De Villiers and Duminy proved to be vital as they calmly asserted themselves at the crease and kept the tourists up with the run rate.
The Proteas skipper reached his half-century off 60 balls, and from that point he and Duminy began to accelerate the chase as they passed 200 in the 45th over.
De Villiers upped the ante as he struck three fours in one over, and Duminy then passed his 50 before winning the match in style with a six to secure South Africa a six-wicket win at Mount Maunganui.