The Sri Lankan spinner Lakshan Sandakan bamboozled the Proteas batting line up with the figures off 3/19 in 4 overs, that helped his side beat the vistors by 3 wickets for their lowest total in the one off T-20 game at Colombo on 14 August.
After electing to bat, South Africa got off to a bad start, as they lost Hashim Amla for no score in the second over.
Wicketkeeper-batsman Quinton de Kock was the top scorer with 20 runs before being run out, but the rest of the batting fell apart in 16.4 overs.
The other spinners De Silva and Akila Dananjaya supported Sandakan by claiming 2 wickets each.
Dinesh Chandimal who returned after his ban, held his composure and remained unbeaten on 36 to guide his team home in a tricky chase.
His 53 run stand with Dhananjaya de Silva for the third wicket who made a quickfire 31 (26), was the key in home side overhauling the target in 16 overs.
The Lankans made heavy weather of the target of 99 as the African bowlers led by Kagiso Rabada made the hosts work hard for their win.
Rabada, Junior Dala and spinner Tabraiz Shamsi took two wickets each.
As seen on Crickex, the hosts from a comfortable 59-2 slipped to 88-7, but Chandimal held his nerve at the end and helped his team reach the target without any further alarms.