South Africa won the toss and elected to field in the second ODI against England
South Africa struck early, dismissing Jason Roy cheaply for the second time in the series
Alex Hales consolidated England's innings with a fine half century stand for the second wicket with Joe Root. However, he departed soon after getting dropped by Kagiso Rabada
Joe Root looked in sublime touch, but was run out at the non-striker's end after Eoin Morgan hit the ball back to the stumps and was deflected by Dwaine Pretorius
Eoin Morgan survived a run out chance early, but went on to add a 95-run stand for the fourth wicket with Ben Stokes
Ben Stokes scored a 77-ball century, and enroute his 101, smashed 11 boundaries and three sixes
After a scratchy start, Jos Buttler began plundering the South African bowlers in the death. He put on a 78-run stand with Moeen Ali off only 39 balls to help England race to 330.
South Africa began the chase well with Quinton De Kock putting on a half century stand with Hashim Amla for the opening wicket. The wicketkeeper-batsman fell two short of his 13th ODI ton
AB de Villiers continued his good form in the 50-over format and struck a fine half-century. He added 96 runs with Quinton de Kock for the third wicket
David Miller provided the late flourish with the bat, stroking an unbeaten 51-ball 71
Jake Ball held his nerve to help England seal the thriller by two runs and take an unassailable lead in the three-match series