The left-handed Warner hit 117 and captain Smith made 108 as Australia made 371 for six, a ground record, after winning the toss and batting in a match which they have to win to stay in with a chance of winning the five-game series.
It was only the third time in 42 one-day internationals that a team had made 300 or more at Kingsmead, a ground which seldom yields big totals. Warner made his runs off 107 balls, with 13 fours and two sixes, while Smith, who said at the toss that "every match is a final for us" after they lost the first two games, faced 107 balls and hit nine fours and a six.
Warner and Aaron Finch gave Australia a blazing start, putting on 110 for the first wicket off 81 balls, with fast bowler Dale Steyn coming in for particularly heavy punishment in conceding 39 runs off four overs. Warner took 17 runs off Steyn's second over, including a big six over midwicket, and Finch hit him for two successive sixes in his fourth over.
Although Steyn picked up two wickets, he conceded 96 runs in ten overs, his most expensive one-day outing. Fellow fast bowler Kagiso Rabada was also expensive, taking one for 86 in ten overs. A change of pace brought a breakthrough when leg-spinner Imran Tahir had Finch caught at long-off for 53, made off 34 balls, with three fours and four sixes.
The wicket brought a lull in the scoring rate as Warner and Smith took 65 balls to post a fifty partnership, which included only two boundaries, but they picked up the pace, posting 124 off 133 deliveries before Warner, trying to hit a second six in an over from Tahir, was caught at long-on. His innings included 13 fours and two sixes.