Faf du Plessis continued his rich vein of form with a century to propel South Africa into the Triangular Series final at the expense of Zimbabwe.
After twin centuries against Australia earlier in the round-robin stage, Du Plessis plundered 121 against Zimbabwe in a team total of 271-6, to which JP Duminy also contributed 51.
Zimbabwe not only needed to win, but to win the match convincingly, and the equation when they came to bat was daunting, with the home team in Harare knowing they needed to knock off the victory target inside 26 overs.
It was apparent from the early stages that scoring at over 10 runs an over would be well beyond the means of the Zimbabweans, who were eventually dismissed for 208 in the 48th over.
Zimbabwe laboured to 104-4 by the time they needed to have wrapped up victory with Duminy (3-35) finishing as the pick of the Proteas' bowlers.
Du Plessis did not score a century in his first 50 one-day internationals, but three in four matches since have cemented him in the South Africa top order.
His first hundred came in a winning cause, the second in defeat, and this time South Africa coasted to a 63-run victory, despite a valiant 79 from Brendan Taylor.
The Triangular Series final takes place in Harare on Saturday.