Isuru Udana's stunning late cameo with the bat came in vain for Sri Lanka as South Africa recorded a series-sealing 16-run win in the second T20I at Centurion.
Udana (84no off 48 deliveries) came to the crease with Sri Lanka 62-6 chasing 181 and proceeded to smash six sixes, eight fours and part of his bat during an absorbing innings in which he was also dropped on 13 and caught off a JP Duminy no-ball on 31.
Sri Lanka began the final over needing 32 runs for a remarkable victory and their hopes were raised when Udana dispatched Lutho Sipamla for six but the tourists were eventually limited to 164-9, despite Udana also sending the penultimate ball into the stands.
Sri Lanka were ultimately punished for sinking to 31-4, with Dale Steyn (2-34) striking twice in the first over and Chris Morris (3-32) making two breakthroughs in the fourth.
South Africa - who posted 180-3 thanks to knocks from Reeza Hendricks (65), Rassie van der Dussen (64) and stand-in skipper Duminy (33no from 17 balls) - will be now eyeing a clean sweep in Johannesburg on Sunday, a feat they managed in the preceding five-match ODI series.
Hendricks and Van Der Dussen shared a second-wicket stand of 116, the duo smashing 55 runs between overs 10 and 14 with South Africa on 63-1 after nine at SuperSport Park - Aiden Markram (3) having fallen cheaply on debut, to Udana.
Hendricks and Van der Dussen were dismissed by Lasith Malinga and Akila Dananjaya respectively but Duminy - deputising as captain for the IPL-bound Faf du Plessis - then cracked two sixes and as many fours to end the South Africa innings with a flourish.
Sri Lanka's innings began terribly with Steyn accounting for Avishka Fernando (0) and Kusal Mendis (4) - Mendis bowled by a beauty that nipped back and clipped off-stump - and Morris dismissing Niroshan Dickwella (20) and inflicting a golden duck on Kamindu Mendis.
Malinga's men were then reeling on 84-7 with six overs to go before Udana's fireworks made South Africa - for whom spinner Tabraiz Shamsi bagged 2-16 from four overs - sweat a little.
Watch the third T20 international between South Africa and Sri Lanka, in Johannesburg, live on Sky Sports Cricket from 12.25pm on Sunday.