Adil Rashid starred with an exemplary spell of leg-spin as England kept South Africa to 146 for six in the second Twenty20 international in Paarl.
Having chased down 180 in the series opener, the tourists would have been more than happy with their work in the field at Boland Park, keeping the Proteas on a tight leash throughout.
Rashid was both stylish and strict in his four-over allocation, taking two for 23 and allowing just one boundary as he sucked the momentum out of the innings at the crucial moment.
Captain Quinton De Kock offered some resistance in the opening stages, ramping Sam Curran for four and six as the fourth over shipped 17.
But he fell for 30 to Chris Jordan's second ball, lifting a swirling catch which Tom Curran watched well at mid-on. That success took Jordan level with Stuart Broad's England record of 65 T20 wickets, in two fewer games.
George Linde hit a rapid 29 as he and Rassie Van Der Dussen added 44 for the sixth wicket, but was run out by Ben Stokes after being sucked in by an initial fumble.