Buttler's 105 was the main contribution as England piled up 399 for nine, easily their highest one-day total against South Africa and their second highest of all time.
Fellow wicketkeeper-batsman Quinton de Kock hit an even better century, making 138 not out off 96 balls before rain ended play with South Africa on 250 for five in 33.3 overs.
But whereas Buttler was part of a powerful team batting effort, De Kock's only significant support came from Faf du Plessis, who made 55. Buttler hit 11 fours and five sixes in a 76-ball innings which included a breathtaking variety of strokes.

Read more cricket news
Alex Hales, Joe Root and Ben Stokes all hit half-centuries after opening batsman Jason Roy set the tone for the innings by striking 48 off 30 balls.
England's innings included five partnerships worth 50 or more while no fewer than eight batsmen struck sixes, with a total of 15 hits clearing some of the biggest boundaries in South Africa.


Latest News from Sports News Desk