South Africa changed their fortunes, on their tour of Sri Lanka, as they tasted their first victory.
The visiting side, who lost the Test series 0-2, beat the Lankans in the first ODI by five wickets.
Kagiso Rabada and Tabraiz Shamsi picked 4 wickets each to restrict the Lankans to 193.
The Proteas chased down the target with 114 balls to spare.
South Africa wins the 1st ODI by 5 wickets and take 1-0 lead in the 5-match series.— Sri Lanka Cricket (@OfficialSLC) July 29, 2018
South Africa 196/5 (31 ovs) Duminy 53*, de Kock 47, du Plessis 47 : Akila Dananjaya 3/50 v SL 193.#SLvSA pic.twitter.com/9cbC4sCO9N
Wicket-keeper batsman Quinton de Kock and skipper Faf du Plessis shared a 86-run stand with both getting 47 runs each.
Post that, it was veteran Jean-Paul Duminy, who stayed calm in the situation when Sri Lanka hit back with Akila Dananjaya claiming three scalps.
Duminy amassed 32-ball unbeaten 53 runs to get his side past home in 31 overs.
Sri Lankan batsmen were rocked as they were reeling at 36/5 with Rabada removing three batsmen early on.
Lanka tried a revival through Kusal Perera and Thisara Perera, but Shamsi came in.
He got Thisara to end the 92-run stand between the duo.
He then also got Kusal for 81 as the Lankans managed a paltry 193.
Lungi Ngidi (1/29) was the other wicket-taker.
Love Sports news?
Subscribe to stay updated.