Centurion, March 7: Quinton de Kock was in destructive form with the bat and Kagiso Rabada claimed his 100th ODI wicket as South Africa took a 2-0 lead in the five-match series against Sri Lanka courtesy of a dominant 113-run win.
Having been put in by the tourists in Centurion, De Kock led the way for the Proteas with a typically aggressive 70-ball 94. However, though captain Faf du Plessis also hit a half-century, South Africa were bowled out for a modest 251.
But the failures of De Kock and Du Plessis' team-mates were rendered immaterial as Sri Lanka folded miserably in what should have been a manageable chase, South Africa skittling them for 138 inside 33 overs.
Victory means the hosts can secure revenge for their surprise Test series whitewash in Durban this weekend, when they will hope for a similar start to the one they enjoyed on Wednesday, as De Kock got them off to a flyer.
He struck 60 in 46 balls in a 91-run opening stand with Reeza Hendricks (29), and he found another capable partner in Du Plessis, with whom he combined for 40 before Thisara Perera (3-26) robbed him of a hundred.
De Kock hit 17 fours and a maximum, but an attempt to fire over short fine-leg went horribly wrong and he sent a leading edge to Niroshan Dickwella.
Kasun Rajitha took a stunning catch to give Thisara the wicket of Rassie van der Dussen, and the same bowler removed Du Plessis, who failed with his attempt to pull a shorter delivery that kept low as the skipper departed for a 66-ball 57.
South Africa had reached 220 by that point, but their innings fizzled out badly and ended with 29 balls to spare.
Yet their struggles were minor compared to those of Sri Lanka, who saw Dickwella fall in the third over to Rabada (3-43), who reached his milestone by drawing a top edge that De Kock collected.
Avishka Fernando and Kusal Perera soon followed and, though Oshada Fernando (31) and Kusal Mendis (24) offered hope with a stand of 40, things became bleak when that duo fell in successive overs.
Horrible confusion between the pair saw Mendis run out, with Fernando then trapped lbw by Anrich Nortje.
The writing was on the wall when Imran Tahir claimed the scalps of Thisara and Rajitha in the space of three deliveries, the tail surrendering meekly to put South Africa on the verge of a series triumph.