Rilee Rossouw was the stand-out performer with the bat, scoring an unbeaten 96 off 55 balls with 5 sixes and 10 fours.
It was Chris Jordan’s excellent final over of the South African innings, which went for just four runs, that prevented Rossouw from getting to triple figures.
Reeza Hendricks was the second highest run-scorer for the Proteas scoring 53 off 32 balls before being dismissed by an outrageous, perfectly-judged catch from Jonny Bairstow at fine-leg. The Proteas set a target of 208 to win.
With a required rate of 10.4 at the start of their innings, England had a steady start, but couldn’t quite put partnerships together, losing wickets frequently and at crucial times.
Jason Roy struggled to get going, scoring just 20 off 22 balls.
There were starts from captain Jos Buttler (29 off 14), Moeen Ali (28 off 17) and Jonny Bairstow (30 off 21), but neither of them could kick on to score big.
Andile Phehlukwayo and Tabraiz Shamsi both picked up three wickets apiece, but the stand-out bowler was Lungi Ngidi picking up 2-11 in his 2.4 overs, with an economy of 4.12.
Keshav Maharaj and Kagiso Rabada chipped in with one wicket each.
South Africa’s fielding improved immensely since the first T20I, with the best of the catches being the wicket of Moeen Ali caught by a diving Keshav Maharaj.
The amount of ground he made up to take that catch was remarkable, diving forward to get to the ball just before it touched the ground.
England were bowled out for 149 in the 17th over, seeing South Africa to a comfortable win.
The series is set up nicely at one apiece, going into the final game at the Ageas Bowl in Southampton on Sunday.
Play starts at 15:30 SAST (14:30 BST)