The home team took the series 2-0, representing the perfect fillip ahead of Friday's opening Twenty20 against England in Johannesburg.
Duminy, in his 51st ODI, thumped 111 not out in 87 balls as South Africa amassed 331 for five after being sent in to bat. Zimbabwe were then bundled out for 119 in 34.3 overs.
Jacques Kallis scored a classy 81 for the hosts while captain Graeme Smith made 53 in an opening stand of 108 with the all-rounder.
Mark Boucher, with 31 not out in 19 balls, helped Duminy provide a strong finish to the innings as the pair smashed an unbroken 58 for the sixth wicket in 33 balls.
Duminy collected nine fours and two sixes with textbook strokes and clever innovations.
Zimbabwe's spinners were the biggest threat, Ray Price claiming three for 55 and skipper Prosper Utseya picking up two for 53.
The gutsy Tatenda Taibu (52) was the best of the visiting batsmen after openers Hamilton Masakadza and Brendan Taylor were dismissed for ducks.
South Africa paceman Charl Langeveldt, 34, took three for 36 on his international return after an 18-month absence.
All-rounder Albie Morkel and spinner Roelof van der Merwe also claimed three wickets apiece.
Scoreboard:
South Africa
G. Smith st Taibu b Utseya 53
J. Kallis c Chigumbura b Utseya 81
A. de Villiers b Price 5
JP. Duminy not out 111
A. Petersen lbw b Price 13
A. Morkel c Masakadza b Price 14
M. Boucher not out 31
Extras (lb-4, w-19) 23
Total (for five wickets, 50 overs) 331
Fall of wickets: 1-108 2-121 3-199 4-240 5-273
Did not bat: R. McLaren, R. van der Merwe, C. Langeveldt, L. Tsotsobe
Bowling: Mpofu 10-0-75-0, Jarvis 10-0-76-0, Utseya 10-0-53-2, Price 10-0-55-3, Cremer 6-0-41-0, Chigumbura 4-0-27-0
Zimbabwe
H. Masakadza c Kallis b Langeveldt 0
B. Taylor c Kallis b Tsotsobe 0
T. Taibu c Boucher b Langeveldt 52
S. Matsikenyeri c Boucher b Morkel 13
E. Chigumbura c Smith b Morkel 4
C. Coventry c De Villiers b Morkel 10
P. Utseya lbw b Van der Merwe 1
G. Cremer c and b Langeveldt 11
R. Price b Van der Merwe 9
K. Jarvis c McLaren b Van der Merwe 13
C. Mpofu not out 1
Extras (lb-3, w-2) 5
Total (all out, 34.3 overs) 119
Fall of wickets: 1-0 2-8 3-40 4-44 5-62 6-73 7-90 8-95 9-112
Bowling: Langeveldt 8-2-36-3, Tsotsobe 7-2-23-1, McLaren 5-2-10-0, Morkel 6-2-20-3, Van der Merwe 8.3-0-27-3.
Chigumbura shines as Zimbabwe trounce Bangladesh
Taylor stars as Bangalore thump Delhi
Yuvraj, Dhoni lay Australia low
Challengers, Daredevils seek consistency
Srikkanth salutes Tendulkar's class