Wayne Parnell and Imran Tahir took three wickets each to set up a comfortable eight-wicket win for South Africa in the first one-day international at St George's Park on Saturday.
Sri Lanka struggled to 181 all out, with Kusal Mendis the only batsman to shine for the tourists, making 62.
Left-arm seamer Parnell took three for 48 while leg-spinner Tahir showed superb control in a strong westerly wind, taking three for 26.
Hashim Amla made 57 and Faf du Plessis 55 not out as South Africa cruised to victory with 15.4 overs to spare.