Highlights from Johannesburg as Faf du Plessis, Quinton de Kock, Lungi Ngidi and Imran Tahir helped South Africa to victory over Sri Lanka.

Faf du Plessis scored his 11th ODI hundred after being dropped on 32 as South Africa beat Sri Lanka by eight wickets in the series opener in Johannesburg.

SCORECARD | COMMENTARY

The Proteas captain (112no) brought up three figures from 104 balls having been given a lifeline early in his innings when Lakshan Sandakan spilled a routine catch at short third man with the hosts on 57-1.

Du Plessis shared a second-wicket stand of 136 with Quinton de Kock (81) as South Africa - who suffered a shock 2-0 defeat in the Test series - coasted to their target of 232 with 67 balls in the bank.

Leg-spinner Imran Tahir (3-26) and fit-again seamer Lungi Ngidi (3-60) had earlier shared six wickets as Sri Lanka - for whom Kusal Mendis top-scored with 60 - were dismissed for 231 in 47 overs having tumbled from 195-4.

Sri Lanka had been reduced to 23-2 inside four overs as Ngidi, playing his first international game since November due to a knee injury, removed Niroshan Dickwella (8) and Upul Tharanga (9) at Wanderers.

Lasith Malinga's team made a decent recovery, Kusal Perera (33) and debutant Oshada Fernando (49) putting on 76 for the third wicket and Mendis and Dhananjaya de Silva (39) adding 94 for the fifth.

But Tahir, who lost his central contract on Friday, then had De Silva stumped and Mendis caught at extra-cover respectively in successive overs to trigger a collapse of 6-36, seamer Anrich Nortje bagging the wicket of Sandakan on his South Africa debut.

Reeza Hendricks (1) fell early in the chase but Sri Lanka had to wait a further 22 overs for their next breakthrough due to Sandakan's butterfingers off the bowling of Thisara Perera at the end of the eighth.

De Kock missed out on a ton as he was pinned lbw by Akila Dananjaya, who was playing his first game for Sri Lanka since November having had his action cleared by the International Cricket Council.

Du Plessis completed his century, though, in the company of Rassie van der Dussen (32no), the duo putting on an unbroken 82 as South Africa eased to a 1-0 lead in the five-match series.

Watch the second ODI between South Africa and Sri Lanka, from Centurion, live on Sky Sports Cricket from 10.55am on Wednesday.