Laura Wolvaardt drove South Africa into the ICC Women's T20 World Cup semi-finals as her second T20I half-century helped them past Pakistan by 17 runs.
The Proteas posted 136 for six thanks to a late flurry from 20-year-old Wolvaardt, who took four fours from the final eight balls of the innings.
And with Pakistan falling short with 119 for five, South Africa earned a third successive win to join India in securing a place in Thursday's semi-finals.
A centurion against Thailand, Lizelle Lee (4) did not last long as Diana Baig took the edge and struck in her first over for the third game running.
Diana got just desserts for a probing opening spell when Dane van Niekerk (3) dragged on to end a difficult ten-ball stay.
Marizanne Kapp ended the Powerplay with a wristy flick for four as South Africa reached 23 for two.
Mignon du Preez looked assured in advancing to 17 but mis-timed her reverse sweep off Nida Dar and played on to make it 54 for three.
Wolvaardt came to the middle and struggled to get going with Kapp (31), who drilled to long-off for teenager Syeda Aroob Shah's maiden Women's T20 World Cup wicket.
Nida dried up runs as the Proteas went 35 balls without a boundary before Wolvaardt lifted her over mid-off for four.
Wolvaardt's abiding impact on the World Cup had been a stunning catch against Thailand but went through the gears with back-to-back fours off Aiman Anwar.
South Africa's score ticked past 100 in the 17th over and that saw Sune Luus depart for 12, looping Aiman to Omaima Sohail at point.
Wolvaardt reeled off a pair of cover drives in the penultimate over as Aiman's tendency to leak runs reared its head.
Wolvaardt's classy hand reached its zenith in the final over as she pierced the gap between two fielders through long-on and then twice stayed leg side to heave over cover.
Momentum from South Africa's finish remained with them as Muneeba Ali (12) miscued Shabnim Ismail to mid-on in the fourth over.
Confusion reigned as Umaima Sohail drove Van Niekerk straight to Wolvaardt at cover and set off, stranded for a duck with Javeria unmoved at the other end.
Van Niekerk was maddened by a pair of misfields in her second over and responded by taking pace off to trap Nida lbw as Pakistan sunk to 26 for three.
Javeria battled on, taking boundaries in three successive overs, but her 100th T20I ended in cruel fashion on 31 when Chloe Tryon deflected Aliya Riaz's drive onto her stumps.
Aliya came off in style with 41 against England but could not get going with Sidra Nawaz, the keeper-batter clean bowled by Nonkululeko Mlaba in the 15th over at 72 for five.
The six-hitting ability of Iram and Aliya kept Pakistan in the game and they both cleared the rope after the fifth wicket fell, but an unbeaten 47-run partnership proved in vain.
Brief scores: South Africa 136/2, 20 overs (Laura Wolvaardt 53 not out, Marizanne Kapp 31; Diana Baig 2/19); Pakistan 119/5, 20 overs (Aliya Riaz 39 not out; Javeria Khan 31; Shabnim Ismail 1/20)