Faf du Plessis led a resounding comeback in the grand scheme of the tour as South Africa utterly dominated Sri Lanka for their first win against the visitors. South Africa went 1-0 up in the five-match ODI series thanks to du Plessis' century, and his rapid 136-run stand with Quinton de Kock that left Sri Lanka with no chance after they had been bowled out for 231. Their eight-wicket win was completed with 11.1 overs to spare.

Du Plessis has scored at least one half-century in each of his last five games across formats, and he looked a man in supreme touch after walking in at 14 for one at the end of the second over. He barely mistimed a ball early in his innings and any confidence Sri Lanka could have drawn from getting Reeza Hendricks early - caught behind off the inside edge - slowly evaporated as he got on top of anything in the off-stump channel and punished even marginal errors in length with regal drives which often came in clumps. He first hit Vishwa Fernando out of the attack with front-foot drives either side of extra cover, and then took on Thisara Perera in the allrounder's first over.

Three boundaries - a back-foot punch, a step out and drive past mid-off, and then a mean slap in front of point - in a row against Thisara definitively grabbed the momentum for South Africa, but an opportunity was handed next ball. Looking to cut again, du Plessis only got a thick edge on a length ball that rose at him and offered a gentle job that was headed straight for Lakshan Sandakan at short third man. Sandakan merely had to get the reverse cups out and hold at chest height, but he seemed to be caught by surprise and fluffed the only chance Sri Lanka would get.

That was at the end of the eighth over, and possibly game-changing, as du Plessis kept the pattern up. He took Dhananjaya de Silva for two fours and a six through the leg side in the 17th over, Sandakan for two fours in the 23rd, and Akila Dananjaya for two off two in the 32nd over; it was du Plessis dismantling anyone Sri Lanka considered a wicket-taking option, and they ran out of those soon.

Imran Tahir appeals for an lbw Getty Images

At the other end, there was de Kock, who was positive from the start without being over-aggressive. As du Plessis took Sri Lanka apart with scrumptious back-foot drives through the off side, de Kock was happier to tick things over with singles. That was until he got close to his fifty. At 44, de Kock had three boundaries to his name but was soon to step up the scoring. As soon as he got his first reverse-sweep away, off Akila, there was no stopping. De Kock hit at least two boundaries in each of the 20th, 21st and 22nd overs - a total of eight in four overs - as he blazed past du Plessis, who had been outscoring him till that point. From 49 off 53, de Kock had reached 81 off 71 in a span of just over four overs before he was trapped in front by Akila. By then, the required rate had fallen below four and Sri Lanka's spinners were powerless.

Sri Lanka's batsmen had been powerless in the first half too: compulsively offering another wicket as soon as one fell, before eventually suffering a full-blown collapse. From 195 for four, on the back of a 94-run fifth-wicket stand, they crumbled to 231 all out. Imran Tahir, continuing his stellar run against Sri Lanka in ODIs, finishing with 3 for 26 in his ten overs, having broken both of Sri Lanka's promising partnerships of the day.

Tahir was virtually unhittable, not conceding a single boundary and bowling 36 dots as Sri Lanka struggled to come to terms with his variations on a pitch that offered some grip. After being put in, Sri Lanka had overcome an early wobble against Lungi Ngidi, who had dismissed both openers in consecutive overs on his return from injury. From 23 for two, Kusal Perera and debutant Oshada Fernando led a strong resurgence. For all 15 overs that he was in the middle, Oshada oozed brilliance, denting South Africa's three varieties of high-140kph bowling with an uncomplicated strategy of lofting the ball straight. Oshada also had a reprieve, UltraEdge showing that South Africa would have had their man caught behind if they had appealed on the first ball of the tenth over as he attempted a late cut.

But an innings of beauty ended in bitter, ugly confusion shortly after Perera was caught-behind off Tahir. New batsman Kusal Mendis' flick to David Miller's right was followed by ball-watching and Oshada's frenzied running as de Kock collected on the bounce to dismiss him one short of a fifty on debut.

Mendis and Dhananjaya contended with a red-hot Tahir before going after South Africa's allrounders in a brief pocket between the 30th and 35th overs where Mendis lifted the rate, but the reintroduction of Tahir resulted in the dismissals of both set batsmen - Dhananjaya out stumped attempting a cover drive, and Mendis finding Rassie van der Dussen at extra cover with the same shot.

Thisara's decision to take on the attack with 11 overs still to play resulted in a mistimed slog that was dropped at mid-off, only for van der Dussen to recover and run out Akila. Three balls later Kagiso Rabada got his man anyway - Thisara was taken off the leading edge at point. Lasith Malinga's heaving and hoicking could only get them up to 231, which was well below par on a surface that suited their three-pronged spin attack.