South Africa secured their place in the Triangular Series final against Australia after another Faf du Plessis batting masterclass on Thursday.
Having made twin centuries against Australia earlier in the round-robin stage, Du Plessis this time plundered 121 against Zimbabwe in a team total of 271 for six, to which JP Duminy also contributed 51.
From the outset Zimbabwe not only needed to win, but to win the match convincingly, if they were to reach the final themselves and t he 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.
They would not get anywhere close, bumbling along at four an over for the most part while wickets fell frequently, on the way to a final losing tally of 208 all out, with South Africa winning by 63 runs.
It was apparent from the early stages that scoring at over 10 runs an over would be well beyond the means of the Zimbabweans.
And when Zimbabwe laboured to 104 for four by the time they needed to have wrapped up victory, South Africa were safely through, even while the match continued.
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 Proteas top order, earmarking him as a likely pivotal player come World Cup time.
His first hundred came in a winning cause, the second in defeat, and this time he batted Zimbabwe out of the game, and out of the tournament.
After steadily putting his innings together, the volcano inside Du Plessis erupted as he closed in on three figures, first when he crunched a six over long-on off John Nyumbu to reach 94.
The 30-year-old number three batsman reached his ton in the next over with a four down to the fine leg ropes off Neville Madziva, before hoisting three of the next four deliveries he faced for further sixes.
There the explosive hitting ended, as Du Plessis perished next ball, caught at mid-wicket by Elton Chigumbura after getting a top edge to another big swish at Nyumbu.
In all, Du Plessis struck four sixes and five fours in his 140-ball innings.
Zimbabwe beat Australia on Sunday, so they had to be taken seriously, but there was no indication they would pursue the rapid-fire victory, instead focusing on aiming to beat another elite nation over 50 overs.
Sikandar Raza made 29, Hamilton Masakadza added 26 and Brendan Taylor played the pillar innings of 79 in the middle order which his team-mates struggled to complement.
Taylor cracked sixes off Aaron Phangiso and South Africa captain AB de Villiers, who as a rarity took the ball for two overs, clearly confident anything he conceded - 13 runs was the damage - would have scant effect on the final outcome.
Come the closing overs, the onus was on Taylor to clatter the ball into the stands, and in attempting to do so swung and missed at a Duminy delivery that clean-bowled him.
Duminy took the final wicket to fall too, pinning Nyumbu lbw to complete team-best figures of three for 35.
The Triangular Series final takes place in Harare on Saturday.