South Africa made it two wins from two in the ICC World Twenty20 after overcoming Sri Lanka by 32 runs in a seven-over shoot-out at Hambantota.
The Proteas adapted better to a rain-shortened contest, posting 78-4 from their 42 deliveries before Sri Lanka slumped to just 46-5 in reply.
South Africa captain AB de Villiers led from the front, smashing two sixes and a boundary during his 13-ball 30, while Hamshim Amla (16) and Faf du Plessis (13) also made notable contributions.
Despite the result, both teams qualify from Group C and into the Super Eights following earlier victories over Zimbabwe.
The sell-out 34,000 crowd were lucky to see any action at all after heavy rain saturated the outfield and delayed the start by two-and-a-half hours.
After being asked to bat first, South Africa lost Richard Levi in the opening over but three early boundaries from Amla put the Proteas back on track.
Left-arm spinner Rangana Herath removed the classy right-hander after a smart stumping from Kumar Sangakkara, bringing De Villiers to the middle alongside Du Plessis.
The pair added 38 runs in 18 deliveries and some lusty late hitting from JP Duminy led South Africa to an imposing 78-4.
South Africa skipper De Villiers then shone in the field, running out Tillakaratne Dilshan from the fourth ball of the home side's reply, and Dale Steyn removed Mahela Jayawardene next over.
Dilshan Munaweera (13) and Sangakkara (13) both struggled to find the boundary against South Africa's disciplined attack as the required run-rate leapt above double-figures.
Steyn also accounted for Thisara Perera to finish with 2-8, and Jacques Kallis and Albie Morkel chipped in with a wicket apiece as the hosts stumbled to 46-5 and a disappointing defeat.