South Africa warmed up for the triangular series final against Australia in Zimbabwe with a 63-run win over the hosts at the Harare Sports Club.
The Proteas went in to bat first on Zimbabwe's request, and with the exception of Faf du Plessis, who scored a scintillating 121, they laboured, eventually posting 271-6 in their 50 overs.
In response Zimbabwe fell behind and despite an impressive 79 from skipper Brendan Taylor, they ultimately fell well short.
Saturday's final will be no surprise, but could go either way with both teams winning and losing against each other in the round-robin stage.
South Africa looked as if they might struggle again on Thursday, with their opening duo of Hashim Amla and Quinton de Kock both out with 24 on the scoreboard.
Thereafter it was a slow repair job, with Rilee Roussouw finally scoring his first ODI runs after two ducks in his first two innings.
Mohandas Menon @mohanstatsman
Faf du Plessis has the perfect strike-rates for a batsman in each of the three formats: Tests: 42.01 ODIs: 86.70 T20Is: 125.96 #ZimvSA9/4/2014, 10:50:56 AM
Elsewhere, there was another needless run out for AB de Villiers, while JP Duminy was the only player able to provide meaningful support with his half-century.
But this was, once again, the story of Du Plessis. His century was his third in four games, and oozed class and confidence while others struggled. His hot vein of form will surely be on Australia's minds going into the final.
Naushad Mujawar @imNmujawar
The start of ODI careers of Rilee Rossouw and Sachin Tendulkar #JustSaying #DontKillTheMessenger @OfficialCSA http://t.co/Euw0Fxm5yY9/4/2014, 1:46:53 PM
By the time he'd fallen after five fours and four sixes, the total had been propped up into something more defendable, and so it proved.
|Sibanda||run out (de Villiers)||11||22||15|
|Raza||c Miller||b Parnell||29||32||32|
|H Masakadza||c de Villiers||b M Morkel||26||38||33|
|Williams||c Amla||b Duminy||3||13||14|
|Chigumbura||c Miller||b Rossouw||13||31||32|
|Waller||c de Kock||b Phangiso||17||32||22|
|Utseya||c Amla||b Steyn||0||5||3|
|Madziva||run out (Miller)||3||11||11|
|Extras||1nb 11w 0b 1lb||13|
|Total||all out (47.2 ovs)||208|
Zimbabwe have talent, no doubt, but despite all the top four getting starts, only Taylor managed to go beyond 30.
Dale Steyn gave nothing away after getting some treatment from Mitchell Marsh in his previous outing, while the use of spinner JP Duminy as an opening bowler paid off, with his off-breaks picking up 3-35.
While Taylor stood firm there was a glimmer of hope, but the carnage around him told a different story. He came in at 46-2, exiting at 202-9, telling a story of a lack of support.
|South Africa Innings|
|de Kock||c Taylor||b Chatara||2||3||4|
|Amla||c Chigumbura||b Madziva||14||31||22|
|du Plessis||c Chigumbura||b Nyumbu||121||188||140|
|de Villiers||run out (Nyumbu)||16||22||18|
|Duminy||c and b Madziva||51||71||62|
|Extras||0nb 9w 0b 2lb||11|
|Total||for 6 (50.0 ovs)||271|
The hosts have had good exposure to two top sides during the tournament, and even stunned Australia earlier in the competition, but still seem some way off being able to compete against the best on a consistent basis.