Eoin Morgan rested himself as England handed Dawid Malan T20I debut before South Africa opted to field.
Morne Morkel dismissed Jason Roy early to give South Africa the much-needed early breakthrough.
Malan, however, walked out with positive intent and scored a fifty on debut to help England score freely.
Hales (36) and Malan (78) scored 105 for the second wicket to put England in a position of strength.
Jos Buttler scored 31 but South Africa fought back with quick wickets in the end to keep England to 181 for 8.
Tom Curran dismissed Hendricks early to give England a good start.
England fell behind in the chase with just 59 on the board after nine overs and three wickets down.
AB de Villiers threatened to take the game away from England and smashed a 19-ball 35.
However, de Villiers fell in the 11th over to Mason Crane despite collecting 18 in the over and his dismissal proved to be the turning point of the game.
Chris Jordan dented South Africa even further to end with 3 for 31 as England sealed the game by 19 runs and the series 2-1.