De Villiers scored 85, having needed just five runs to surpass former India captain Sourav Ganguly, who took 228 innings to achieve the milestone. De Villiers did it in his 205th innings.
South Africa scored a credible 271-8 in their 50 overs and then their pace bowlers ripped the top off the hosts batting to reduce them to 58 for six in the 20th over before bowling them out for 112 in 32.2 overs.
The victory gave de Villiers' team a 2-1 lead in the five-match series with the fourth game in Hamilton on Wednesday.
Andile Phehlukwayo (2-12 from five overs) and Dwaine Pretorius (3-5 from 5.2 overs) were the most economical of the South African bowlers.
De Villiers had again held his side's innings together with a composed knock and was only dismissed in the final over when he failed to get underneath a Trent Boult full toss and was caught on the boundary.
Quinton de Kock also gave his side a solid foundation with 68, the opener passing 50 in his last five one-day matches.
The visitors were adept at rotating the strike and ticking the scoreboard over, with 116 runs coming from singles.
South Africa had been cruising at 114-1 before de Grandhomme's double strike.
Their vaunted middle order failed to fire with wickets falling at regular intervals and they were in trouble at 180-6 by the 39th over.
De Villiers, however, then combined with Wayne Parnell (35) to add 84 runs for the seventh wicket that gave them a target that was achievable but never in danger of being threatened by the hosts.