With their victory, the Proteas took over the No 1 spot in the ICC ODI rankings.
After Sri Lanka won the toss and asked the Proteas to bat, the home side posted a formidable 384/6 in their alloted 50 overs.
Openers Hashim Amla (154) and Quinton de Kock (109) were the destroyers-in-chief, posting an opening partnership of 187.
In response, Sri Lanka ended on 296/8, thanks in main to an unbeaten maiden ODI century (114* off 117 balls) from Asela Gunaratne, handing the Proteas victory by 88 runs.
Chris Morris with 4-31 in his 10 overs was the most successful of the South African bowlers.
The Proteas now move on to their tour of New Zealand, starting with the only T20I in Auckland next Friday, February 17 at 08:00 (SA time). (Courtesy sport24)