Mitchell Marsh shone with bat and ball as Australia beat South Africa by 62 runs to book their place in this weekend's triangular series final.
Marsh's unbeaten 86, after opener Phillip Hughes had added 85, helped the Baggy Greens to 282 for seven, before the all-rounder then took two for 23 to help restrict the Proteas.
Faf du Plessis' sparkling 126 off 109 balls was a sole ray of comfort for the South Africans as a woeful lack of support elsewhere saw them slump to 220 all out.
The victory ensured Australia's place in Saturday's final - when they will meet South Africa for a third time in the series - and saw them bounce back in style after their shock defeat to Zimbabwe on Sunday.
At the start of the day AB de Villiers would have been confident when he put the Baggy Greens in to bat after his side had successfully chased down 328 to beat them last week.
But Hughes took charge from the off and, unfazed by watching Aaron Finch (16) punished for a moment of impatience, he consistently found the ropes.
His second-wicket partnership of 85 with Steven Smith, who was called up to bat at number three in Michael Clarke's absence, took them to 131 for two as Smith edged Imran Tahir behind to end on 36 from 62 balls.
Glenn Maxwell lost his wicket in the following over for two, before Hughes fell to Aaron Phangiso with 15 overs remaining. He finished with seven fours and a six in his 92-ball knock, but his ambition ultimately got the better of him as he lofted to David Miller at long on while trying to add a maximum.
Marsh then entered the fray in cautious fashion at first, watching on as captain George Bailey's (32) bullish efforts were cut down, before opening up himself.
During a vital sixth-wicket stand of 71 with Brad Haddin, Marsh brought up his 50 in style as he made three back-to-back sixes and scored 21 runs in Dale Steyn's final over.
His knock, which saw him club five fours and seven sixes by the end of the day, was responsible for giving his side a defendable score as Haddin (11) and Mitchell Johnson (two) both fell cheaply towards the end.
South Africa's chase was dented before it even got started as Quinton de Kock (one) and Hashim Amla (17) were both dismissed inside 10 overs - the latter becoming Marsh's first victim thanks to a stunning one-handed catch by Haddin.
Du Plessis was in defiant mood at number three, hitting eight fours and six sixes in his quickfire century, but his efforts were unmatched elsewhere as Australia's attack feasted.
Nathan Lyon, following up his career-best four for 44 against Zimbabwe, took De Villiers' wicket for six, before Marsh made JP Duminy (16) his second victim of the day to leave South Africa on 93 for four.
Johnson, on his return, blasted Miller (three) off the crease, before Kane Richardson got it on the act to send Ryan McLaren (24) back to the pavilion and Steyn (five) was later run out.
When Richardson called time on Du Plessis' fine knock, which ended when his foot brushed off-stump, South Africa were left on 214 for eight. The tail predictably surrendered meekly to finish a day to forget for the Proteas.