The opener thumped an undefeated 119 from 124 balls, the highest score by a South African in a One-dayer against Australia.
The tourists, who won the toss and chose to bat, totalled 229 for eight in a match reduced to 47 overs a side by rain.
South Africa, set a revised target of 204 in 41 overs after more rain, got home in 37.3 overs. Smith's innings included 12 fours and a six and beat the previous record of 112 held jointly by Gary Kirsten and Hansie Cronje.
Smith, who faced stinging criticism after his team performed poorly on their tour of Australia, roared with satisfaction after he stroked Michael Clarke through the covers to reach his sixth One-day century.
Clarke and Michael Hussey had resurrected Australia's innings with a century stand after the visitors slumped to 25 for three.
Clarke clipped his 53 off 82 balls, while Hussey's 56 came off 73 balls.
Simon Katich, who dragged a wide delivery from fast bowler Makhaya Ntini onto his stumps, and Damien Martyn, trapped plumb leg-before by seamer Shaun Pollock, fell early on. Adam Gilchrist, standing in as skipper for the injured Ricky Ponting, then played a roundhouse hook off Ntini and sent a looping catch to Andre Nel at mid-on.
That was the signal for Clarke and Hussey to begin their rescuing partnership, and they scored steadily despite a slow pitch and an outfield slowed by overnight and morning rain that delayed the start by 30 minutes.
A stand of 51 between Shane Watson, who scored 22, and Brett Lee, who smashed an unbeaten 38 off 28 balls, boosted Australia late on.
South Africa lost Boeta Dippenaar and Herschelle Gibbs with 28 runs on the board, but AB De Villiers joined Smith in a fluent stand of 83.
The second game in the five-match series will be played in Cape Town on Friday.