South Africa's second-string pace attack bowled struggling Zimbabwe out for 165 on Thursday in the third and final one-day international to see the Proteas close in on a series whitewash.
Kyle Abbott took a wicket in the day's first over and Marchant de Lange struck first ball of the second as Zimbabwe's batsmen failed again and were dismissed with more than 10 overs remaining.
De Lange finished with 3-31 in his first ODI since March 2012, and Abbott and Wayne Parnell took two wickets each in the absence of Dale Steyn and South Africa's other front-line fast bowlers. They were rested for the three-game series in Bulawayo.
Captain Elton Chigumbura made a fighting 90 for Zimbabwe's only solid performance and combined for a 46-run stand for the last wicket with Tinashe Panyangara.
Chigumbura hit 10 fours and two sixes but fell as he closed in on his first ODI century in 160 matches when he was bowled by De Lange trying to heave another delivery to the leg-side boundary.
South Africa needs 166 at less than 3½ runs an over for a 3-0 series sweep at Queens Sports Club.
The visiting Proteas gave one-day debuts to batsman Rilee Rossouw and left-arm seamer Mthokozisi Shezi, who took 1-8 off six overs. Quicks Steyn, Vernon Philander and Morne Morkel sat out the entire series while captain AB de Villiers and Hashim Amla were rested for the last game.
After being put in to bat, Zimbabwe was 4-2 when De Lange removed Richmond Mutumbami with a vicious rising ball in his first delivery in ODI cricket in more than two years.
Aside from a 51-run partnership between Chigumbura and Sikandar Raza (30), and the last-wicket stand, there was little else for Zimbabwe, which limped to 119-9 in the 35th over after mid-innings collapse of 6-30. The home team was eventually bowled out in only 39.5 overs.
Chigumbura took the total toward respectability by clubbing a string of boundaries at the end, but he missed with another big shot off De Lange and had his off stump knocked back.