The Proteas produced another clinical performance to beat England by three runs to advance to the World Twenty20 semi-finals on Saturday.
AB de Villiers and Hashim Amla hit half-centuries to anchor South Africa's highest total of the tournament of 196-5 before Wayne Parnell took 3-31 to keep England down to 193-7 at Zahur Ahmed Chowdhury stadium.
South Africa are the second team to qualify for the semis after 2007 champions India cruised to the last four from Group Two.
The defeat -- second in three Group One Super-10 matches -- sent 2010 champions England out of the semi-final race.
Sri Lanka meet New Zealand in their last Group One match on Monday and the winners will join South Africa in the last four.
Pakistan meet Bangladesh in a Group Two match in Dhaka on Sunday and if the 2009 champions beat the hosts their last match against title holders the West Indies will decide the last semi-final berth.
England, who chased down a 190-run target against Sri Lanka on Thursday, failed to match that performance with Alex Hales (38), Jos Buttler (34) and Ravi Bopara (31) unable to benefit from good starts.
Parnell, who was released from the squad for two days to attend a court hearing relating to drug charges in the 2012 Indian Premier League in Mumbai on Friday, dismissed Michael Lumb (18), Hales and Moeen Ali (10) to jolt England after they were off to a 46-run start by the fifth over.
Hales hit six boundaries and a six off 22 balls but once he departed the target continued to climb on England with 45 needed off the last three overs and 22 off Dale Steyn's final over.
South Africa's total was built around a swashbuckling 28-ball 69 not out by De Villiers and a 37-ball 56 by Amla.
De Villiers was ruthless in the final overs, taking 26 off Jade Dernbach's 18th over and reached his fifty with a towering six off just 23 balls.
In all he hit nine boundaries and three sixes to help South Africa during an innings stopped twice for floodlight failure.
South Africa smashed 75 in the last five overs.
Amla and Quinton de Kock (29) helped South Africa to 90 without loss in the 11th over with the former in a punishing mood.
The bearded Amla hit six boundaries and two sixes before he was caught at deep mid-wicket off Stuart Broad.
South Africa made two changes from the line-up which beat the Netherlands in their last game, with Farhan Behardien and Parnell in for regular skipper Faf Du Plessis -- suspended for one match due to a slow over-rate -- and Lonwabo Tsotsobe.
New Zealand sent the Netherlands out of the tournament with a clinical six-wicket win earlier in the day.– AFP