Heinrich Klaasen scored a 61-ball century as South Africa posted 399 and then bowled England out for 170 in 22 overs to claim a massive 229-run victory in their Cricket World Cup pool stage clash at the Wankhede Stadium in Mumbai on Sunday.
Defending champions England have now lost three of their opening four games of their title defence and are in real danger of not making the semi-finals as they slipped to a record England defeat in one-day internationals.
They won the toss and elected to field, but had no answer to South Africa's power hitting as their bowlers toiled in stiflingly hot and humid conditions.
Klaasen finished with 109 from 67 balls and put on 151 in 76 deliveries for the sixth wicket with all-rounder Marco Jansen (75 not out from 42 balls), the highest run-rate in a 150-run stand in the history of the men's World Cup.
England's reply never got going as they slipped to 68-6 before a late rally from Mark Wood (43 not out) and Gus Atkinson (35) put on 70 for what proved to be the last wicket with Reece Topley not able to bat.
"It was a fantastic all-round performance, we could not have asked for a bigger effort and to have the skills to top it off was very pleasing," stand-in South Africa captain Aiden Markram said.
"It was a great way to bounce back (from defeat to the Netherlands) and to put a game like this together was superb from the guys."
South Africa were held in check in the opening overs, but when England seamer Reece Topley went off with an injured finger, the pressure was released.
Reeza Hendricks, in the side for ill captain Temba Bavuma, made an eye-catching 85 from 75 balls and put on 121 with Rassie van der Dussen (60 from 61 balls) for the second wicket.
Aiden Markram added 42 while David Miller managed only five before Topley (3-88) removed both batters.
Klaasen and Jansen then went on the attack as South Africa scored 143 in the last 10 overs of the innings to record the highest total ever against England at a World Cup.
The chase was always going to be a tall order, but England never looked as though they would mount a serious challenge.
Number 10 batter Mark Wood was top-scorer in the innings and Ben Stokes, playing his first game of the tournament after a hip injury, could only manage five.
"It's incredibly disappointing, we came here with high hopes to play our best cricket and we were short of that and well beaten," England captain Jos Buttler said.
"I thought if we could have restricted them to 340-350, probably on this pitch it would have been a really good chase. They just got away from us at the end."
Sri Lanka on the board
Sri Lanka beat the Netherlands by five wickets with 10 balls to spare on Sunday to become the final team to claim a victory at the tournament after Sadeera Samarawickrama anchored the chase.
Needing 263 for victory, Samarawickrama stood firm once again with a patient 91 off 107 balls to add to his century against Pakistan as the island nation wrapped up the contest in the 49th over.
The result moved Sri Lanka off the bottom of the standings and up to ninth, above Afghanistan thanks to a marginally better net run rate.
"I'm really happy to finish the game for my team, we needed a win, we haven't done well in the last three games," said Samarawickrama, who was named player of the match.
"When I went in the wicket wasn't easy... the fast bowlers bowled a good line and length. My plan was to bat deep and stick to the basics. I knew it would be hard in the latter stages."
The Netherlands had won the toss and opted to bat first but they had a poor start after Sri Lanka's fast bowlers Kasun Rajitha and Dilshan Madushanka ran through the top and middle order.
The European side were reeling at 91-6 when skipper Scott Edwards was sent back to the pavilion by Maheesh Theekshana, but Sybrand Engelbrecht (70) and Logan van Beek (59) rescued the Dutch side with a 130-run partnership.
The pair rotated strike and guided the team to a competitive total but they were bundled out for 262 in the final over of their innings as Rajitha and Madushanka finished with four wickets each.
"We didn't start well but we got ourselves to a pretty competitive total," Edwards said.
"Our batting hasn't quite clicked yet. It's obviously great that Sybrand and Logan chipped in with 130 runs. Ideally, we would get more runs at the top."
In response, Sri Lankan opener Pathum Nissanka laid the foundation for their chase with a knock of 54 that included nine boundaries but Aryan Dutt contained them with three wickets, dismissing Kusal Perera and Kusal Mendis cheaply.
But Samarawickrama built partnerships of 52, 77 and 76 with Nissanka, Charith Asalanka and Dhananjaya de Silva respectively to steady the ship before Dushan Hemantha came in and hit the winning runs.
- Reuters