South African captain Graeme Smith gave his side a boost for both its one-day and Test series' with Australia when hitting an unbeaten 119 to win the first one-day international, at Centurion.
Australia scored 229-8 in 47 overs in the rain-affected game, and the South Africans reached their target of 204 with 3.3 overs, and six wickets to spare.
Batting first, Australia was rocked when Makhaya Ntini and Shaun Pollock knocked the top-order over leaving it 25-3
Michael Clarke (53) and Michael Hussey (56) recovered the situation, adding 100 and lifting Australia to 125-3 in the 32nd over when Clarke was dismissed.
But the recovery was upset when Hussey was out seven runs later.
Shane Watson's 22 and 38 from Brett Lee bolstered Australia's score in the latter stages of the innings.
South Africa's effort was dominated by Pollock's 10 overs which resulted in 3-23. Ntini took 2-42 from his nine overs. Andre Nel was costly, conceding 62 without success from his 10.
South Africa did not start well with Boeta Dippenaar bowled by Nathan Bracken for 10 and Herschelle Gibbs run out for 0 off the first ball he faced. That left South Africa 2-28 in the seventh over.
Smith assumed the responsibility of seeing the home side through, and he combined with AB de Villiers (43) initially in a third-wicket stand of 83. De Villiers was dropped by Watson when on 12, a miss that highlighted a disappointing day in the field for Australia.
Mitchell Johnson's replacement at the bowling crease after he conceded 19 runs from one over saw Brad Hogg remove de Villiers with his first ball.
Mark Boucher stayed only briefly before he was run out and then Justin Kemp stayed with Smith until the job was done ending on 24 not out.
Smith scored his sixth ODI century off 110 balls and hit 10 fours and one six.
Australia's attack struggled with spearhead Brett Lee conceding 59 runs in 10 wicketless overs. Bracken took 1-27 off eight and Hogg 1-30 off his eight.