Mumbai: England pulled off the second-highest run chase in Twenty20 international history to stun South Africa and get their World T20 campaign back on track.
Chasing 230 in Mumbai, Joe Root struck a brilliant 44-ball 83 after Jason Roy blitzed 43 from 16 deliveries.
England lost two wickets in the last over with the scores level before Moeen Ali sealed it with two balls to spare.
South Africa earlier posted 229-6, with Hashim Amla, Quinton de Kock and JP Duminy all making half-centuries.
At the time, that was the second-highest score at a World T20 before England trumped it with a display of hitting that bettered the Proteas, who in turn managed to bowl as badly as Eoin Morgan's side.
Chasing 230 required something extraordinary from a side that was run ragged by Chris Gayle at the same ground two evenings before.
Jason Roy's 16-ball 43 gave the Mumbai fans more to shout about and briefly lifted visions of an England win, but it was Joe Root's exemplary 83 from 44 balls that was the difference between an early exit and a stunning comeback from what could have been a debilitating loss to West Indies.
Root entered the fray at 71/2 in the fifth over and lost Ben Stokes on the stroke of the batting Powerplay, with England 87/3. Without ever looking a man under such immense pressure, Root relied on his vast reservoir of skill and ability to find the gaps to leave South Africa wondering where it all went wrong.
England's chase began in frenetic manner. Roy clattered four boundaries off Kagiso Rabada, then 23 came from Dale Steyn's first over with Alex Hales collecting three fours and Roy sweeping for six nonchalantly -- two overs for 44 runs.
Kyle Abbott nailed Hales for 17 and one ball after he paddled a 60-meter six off Abbott, Roy attempted the shot again and presented an easy catch for de Kock. Stokes' wicket, smashing a full toss from Rabada to deep midwicket, meant England ended the Powerplay on 89/3.
Earler, it could have been so different, with Morgan's decision to field looking a blunder very early on. After a two-run opening over from David Willey, the next four overs produced 70 runs in a stunning display of batting from two very different players.
With firmness of mind, de Kock sliced Reece Topley's first ball of the evening over cover-point for six and then clattered two fours through the covers. Willey was struck over long-off for six, with de Kock skipping on dancing feet to get to the pitch.
Amla was dropped by Topley at mid-off and chose a very mediocre Chris Jordan to make a statement: three consecutive fours, over cover, behind square leg and to third man, followed by a pulled six. Six overs bowled, five bowlers used.
Morgan then turned to Adil Rashid in place of Jordan whose one over cost 22. First ball, de Kock whipped four between two fielders on the legside for a 21-ball fifty. A full toss was then dumped behind cow corner for six by Amla, not to be left too far behind his partner.
England next face Afghanistan in Delhi on Wednesday, knowing that victory would leave them well-placed to earn a spot in the semi-finals.
Brief scores
South Africa - 229 for 4 (Amla 58, Duminy 54*, de Kock 52, Ali 2-34)
England - 230 for 8 (Root 83, Roy 43, Abbott 3-41, Rabada 2-50)
Result - England won by 2 wickets
Points - England 2, South Africa 0
MOM - Joe Root (England)