Jos Buttler struck a rapid century as England beat South Africa by 39 runs via the Duckworth/Lewis method in a high-scoring first One-Day International marred by rain on Wednesday.
England posted 399 for nine in their 50 overs at the Mangaung Oval, nine runs short of their highest ODI score.
On a flat track South Africa kept up with the run rate in their reply but lost too many wickets and were stuck on 250 for five after 33.3 overs when the rain came.
Carrying home hopes was wicketkeeper-batsman Quinton de Kock who struck a career-best unbeaten 138 from 96 balls.
After winning the toss and electing to bat, Buttler was the mainstay of the England innings as he bludgeoned 105 from 76 balls, the slowest of his four ODI tons, in a thrilling stay at the crease that included 11 fours and five sixes.
All of the visiting top six got starts, with Alex Hales (57), Joe Root (52) and Ben Stokes (57) easing to half centuries.
There was an obvious intent to attack from the first over and that carried through the innings as eight different batsmen hit sixes for the first time in ODI history.
South Africa's reply came at a good pace, but only Faf du Plessis (55) offered De Kock any support as the pair shared a 110-run stand for the second wicket.
De Kock scored all round the wicket as he raced to his ton off 67 balls, the quickest of his nine three-figure scores in the 50-over format, finishing with 12 fours and six sixes.
The 23-year-old became the youngest South African to reach 2000 ODI runs, beating the previous record of Jacques Kallis by 144 days.
Home captain AB de Villiers suffered another failure to follow his dismal test series when he was out for eight, brilliantly caught one-handed on the boundary by Stokes off the bowling of Moeen Ali (3-43).
The second ODI in the five-match series is in Port Elizabeth on Saturday.