South Africa's Quinton de Kock has scored a second straight fifty, while Anrich Nortje bowled a tight final over to help their side edge England by seven runs and move closer to a semi-final berth with back-to-back wins in the T20 World Cup 'Super Eight' stage.
The victory at Gros Islet moved South Africa to the top of the group with four points from two matches. England, second with two points, can still make it to the semis.
Put in to bat first, openers De Kock (65 off 38) and Reeza Hendricks (19) had South Africa off to a good start, scoring 63 runs in the powerplay, as an in-form De Kock reached a half-century in just 22 balls, his second fifty in row.
"I've played a few [Caribbean Premier League] games here," said Player of the Match De Kock, crediting his league experience for his knowledge of the playing conditions at the Daren Sammy Cricket Ground.
South Africa added only 29 runs in the next six overs, with both openers falling to Moeen Ali (1/25) and Jofra Archer (3/40), while Adil Rashid (1/20) kept a tight lid on the scoreboard.
However, David Miller (43 off 28) stepped up under pressure to get the runs flowing again, helping South Africa to a competitive 163/6.
As England began their chase, Kagiso Rabada (2/32) dismissed Phil Salt (11) early, before Keshav Maharaj (2/25) got the better of Jonny Bairstow (16) and Jos Buttler (17), leaving the champions looking shaky at 61/4 in the 11th over.
Harry Brook (53 off 37) and Liam Livingstone (33 off 17) stabilised their innings, and with 77 needed from the last six overs, they went for the big hits, scoring 54 runs from the next three overs, until Livingstone fell to Rabada.
England needed 14 from the last over, but Nortje (1/35) had Brook out on the first ball and allowed only six runs, restricting England to 156/6.
"Getting to those last three overs, the odds looked heavily against you, but the bowlers coming back, it shows a lot of skill, but it also shows the fight inside," said South Africa captain Aiden Markram. "As a whole, I'd say we're getting closer to that complete game of cricket."
Unbeaten in the tournament, South Africa play hosts West Indies in their last Super Eight match, while England face the United States.
Reuters