A well-played 33 off 40 balls from South African opener Trisha Chetty helped her side to a convincing win over the hosts, who set South Africa a modest 79 for victory.
Chetty eventually fell to Inoka Ranaweera, but a quick-fire 15 from 25 balls by Dane van Niekerk guided the South Africans to 80/4 in the 18th over, reaching their target with 16 balls to spare.
Sri Lanka collapsed after a good start to their innings, suffering an incredible five run-outs in their disappointing opening batting display.
Only two Sri Lankans - Dilani Manodara (24) and Chamani Seneviratna (14) - reached double figures.
South Africa's Susan Benade and Dane van Niekerk picked up two wickets each, while Marizanne Kapp chipped in with one.
Drawn in Group B along with Sri Lanka, New Zealand and the West Indies, the South Africans will be happy with their perfect start in the preliminary rounds.
The win puts South Africa in pole position in Group B, while Sri Lanka find themselves last after the opening tie.
Australia, England, India and Pakistan make up Group A.