The elegant opener and former Skipper hit a career-best 66 not out from 54 deliveries with the help of two sixes and five boundaries.
But the home side fell well short of the required target as the South African bowlers produced a clinical performance to take an early lead in the three-match series.
After a promising start, Sri Lanka completely lost their way from the fifth over onwards following the run-out of Avishka Fernando and the first-ball duck of Bhanuka Rajapaksa.
South Africa’s innings, of course, was built around an opening stand of 73 between Quinton de Kock and Reeza Hendricks after they had won the toss and elected to bat first.
The pair provided the ideal start to the innings by smashing the bowlers to all parts of the ground during an entertaining partnership, which eventually came to an end in the 10th over.
Sri Lanka’s most successful bowler Wanindu Hasaranga broke a threatening stand by dismissing de Kock for a 32-ball 36, which was studded with one six and three boundaries.
Two overs later, Hasaranga accounted for the wicket of Hendricks as Sri Lanka made a good comeback to keep the South Africa run-rate down after a flourishing start.
However, middle order batsman Aiden Markram lifted the momentum once again by making a top score of 48 from 33 deliveries inclusive of two sixes and one boundary.
Debutant Mahesh Theekshana got his act together well and removed Heinrich Klaasen cheaply but veteran David Miller made sure South Africa finish off strongly with a 15-ball 26.
The second T20I between the two teams will be played on Sunday at the same venue.