Tom Alsop scored a rapid 107 runs from just 83 deliveries as the hosts posted 305 for five from their 50 overs, in the second Youth One Day International.
In response, South Africa were bowled out for 216 in 42.5 overs, with 3.1 overs remaining in their rain-shortened innings.
England’s top three batsmen played their part in the game after winning the toss and batting first.
Captain, Will Rhodes and Haseeb Hameed shared an emphatic, 112-run opening stand before Rhodes was removed by Ndumiso Mvelase (1/39) for 60.
Hameed and Alsop went on to share a brilliant 155-run partnership for the second wicket, before Hameed was once again denied his century. He was dismissed for 97 for the second consecutive time when he was run out by Lwandiswa Zuma in the 46th over.
Alsop lost his wicket an over later, falling at the hands of debutant, Brandon Glover. Joe Clarke held down the fort, scoring an unbeaten 25 runs as South Africa’s captain, Sibonelo Makhanya (1/59) took the wicket of Jonathan Tattersall for one and Glover (2/66) claimed his second wicket, removing Ed Barnard for a duck.
Josh Shaw was the chief destroyer for England, taking 4/47 to put South Africa on the back foot.
Ryan Rickleton was the first to go when he was bowled by Shaw for eight at the start of the fifth over. Shaw’s other wickets included Makhanya, who was trapped lbw for two, as well as Keith Dudgeon (29) and Glover (2).
Only Janneman Malan could get to a half-century, with a knock of 76 off 77 deliveries. The match was affected by rain, seeing the South African innings cut to 46 overs with a target of 291 runs.
England’s bowlers however, ensured that wickets kept tumbling and soon, Rhodes and Karl Carver had two wickets each to help bundle the visitors out for 216.
The third ODI will take place at the same venue on Monday, as England take a 2-0 lead in the five-match series.