South Africa finally showed up at the World Cup in their final league game and beat Australia by 10 runs to stop the holders finishing the World Cup group stage on top of the table.
After putting 325-6 on board batting first, South Africa then restricted Australia to 315 all out in the run chase on Saturday.
Faf du Plessis scored a century for South Africa to propel them over 300. David Warner kept Australia in the chase for long with his century but fell after reach the three-figure mark.
This was Australia’s second defeat of the tournament and they finished second in the points table as well.
They will now play third-placed England in the semi-finals on Thursday while table-toppers India face fourth placed New Zealand in the other last-four clash.