South Africa sailed into the World Twenty20 semi-finals with a three-run victory over former champions England in their super 10 Group One match in Chittagong.
England slumped out of contention for a place in the last four after falling short of a 197-run victory target in the face of some impressive bowling by South Africa's paceman Wayne Parnell (3-31) and leg-spinner Imran Tahir (2-27).
South Africa's Hashim Amla (56) dominated a 90-run opening partnership with Quinton de Kock (29) before stand-in skipper AB de Villiers' breezy 69 not out propelled them to 196 for five wickets, the highest score so far in this year's tournament.
Amla's performance was particularly impressive given that he did not lose momentum despite two power failures, each halting play for about 10 minutes.
In reply, Alex Hales (38) benefited from a dubious no-ball decision and with Michael Lumb (18) added 46 runs in 4.4 overs before Parnell came up with a three-wicket burst to virtually derail England's chase.
Tahir then claimed the important wickets of Eoin Morgan (14) and Jos Buttler (34) who fought valiantly before his dismissal that virtually sealed the fate of the contest.
The winner of Monday's Sri Lanka v New Zealand match will join South Africa and India in the last four.
Kiwis crush Netherlands
New Zealand captain Brendon McCullum smashed 65 runs to guide his side to a six-wicket win over Netherlands in the World Twenty20.
Netherlands captain Peter Borren struck 49 runs to lead his side from the front in the first innings, with Tom Cooper contributing 40 runs to the Netherlands' total of 151-4.
Cooper and Borren put on 60 runs to give their bowlers a chance of an upset victory.
Kyle Mills, Trent Boult, Nathan McCullum and Mitchell McClenaghan claimed one wicket apiece for the Black Caps.
McCullum, who hit four fours and three sixes off 45 balls, became the first cricketer to score 2,000 runs in Twenty20 internationals when he was on 21 runs as New Zealand reached their target with an over to spare, scoring 152-4.
He intended a reverse scoop but Logan Van Beek's ball swung to force McCullum to nudge into cover for a single.
McCullum settled New Zealand's innings after Timm Van der Gugten had taken Martin Guptill cheaply.
For Netherlands, Van der Gugten claimed 3-30 while Van Beek had 1-14.