After South Africa had been put into bat, De Kock smashed 121 off 108 balls at the top of the innings — his 14th ODI hundred — as they went on to make 331-5 off their 50 overs.Sri Lanka, set a revised target of 193 after a rain delay, fell a long way short, managing to score only 121-5 off 24 overs in reply.
Sri Lanka had already been falling behind the required over rate at 75-2 off 16 overs when a rain storm took the players off for a two-hour break, after which the visitors were set a Herculean target of 118 runs off just eight overs to win.Kusal Mendis was caught and bowled by Imran Tahir for 41 just as Sri Lanka looked set to take on the challenge but despite the best efforts of Thisara Perera, who swung at every ball, the tourists were always fighting a losing cause.
De Kock had earlier announced his intent with a four off the first ball of the game and kept up the attack before eventually getting to three figures off 89 balls, having fallen just short in the last ODI in Pretoria last Wednesday when he scored 94.
Rassie van der Dussen added 50 and a cameo from Andile Phehlukwayo, who hit 38 off 15 at the end of the innings, ensured South Africa went past 300 as they continued their World Cup preparations with some aplomb.
Sri Lanka lost key batsman Kusal Perera early on in the game when he looked to have hurt his hamstring in the field and was taken to hospital for scans.
Officials said he would not have been able to bat had he been needed but it is unsure how serious the injury is.
South Africa and Sri Lanka will play the fourth match of the series in Port Elizabeth on Wednesday.
South Africa 1st innings
Quinton de Kock c Niroshan Dickwella b Kasun Rajitha 121
Reeza Hendricks c Lasith Malinga b Isuru Udana 4
Faf du Plessis c Niroshan Dickwella b Lasith Malinga 36
Rassie van der Dussen lbw Kamindu Mendis 50
David Miller Not Out 41
Dwaine Pretorius b Isuru Udana 31
Andile Phehlukwayo Not Out 38
Extras 0b 5lb 0nb 0pen 5w 10
Total (50.0 overs) 331-5
Fall of Wickets : 1-24 Hendricks, 2-121 du Plessis, 3-187 de Kock, 4-231 van der Dussen, 5-284 Pretorius
Did Not Bat : Rabada, Ngidi, Tahir, Shamsi
Bowling Ov Md Rn Wk Econ Ex
Lasith Malinga 10 0 68 1 6.80 1w
Isuru Udana 8 0 50 2 6.25
Kasun Rajitha 8 0 69 1 8.62 3w
Akila Dananjaya 9 0 56 0 6.22 1w
Thisara Perera 5 0 38 0 7.60
Kamindu Mendis 10 0 45 1 4.50
Sri Lanka 1st innings
Avishka Fernando c Tabraiz Shamsi b Lungi Ngidi 23
Niroshan Dickwella c Imran Tahir b Kagiso Rabada 2
Oshada Fernando c Quinton de Kock b Tabraiz Shamsi 25
Kusal Mendis c&b Imran Tahir 41
Thisara Perera c Rassie van der Dussen b Imran Tahir 12
Kamindu Mendis Not Out 8
Isuru Udana Not Out 0
Extras 4b 1lb 0nb 0pen 5w 10
Total (24.0 overs) 121-5
Fall of Wickets : 1-11 Dickwella, 2-35 Fernando, 3-76 Fernando, 4-104 Mendis, 5-118 Perera
Did Not Bat : Perera, Perera, Rajitha, Malinga
Bowling Ov Md Rn Wk Econ Ex
Kagiso Rabada 6 2 18 1 3.00 1w
Lungi Ngidi 5 1 25 1 5.00
Andile Phehlukwayo 2 0 19 0 9.50 1w
Dwaine Pretorius 2 0 6 0 3.00
Imran Tahir 5 0 19 2 3.80 1w
Tabraiz Shamsi 4 0 29 1 7.25 2w
-