Quinton de Kock’s 14th ODI hundred helped South Africa past 300, which proved too much for Sri Lanka to chase even after rain altered the requirement.
He was into his work straight away, striking the first and third balls of the game for four, and not even the loss of Reeza Hendricks for four in the sixth over could slow him.
Proteas captain Faf du Plessis started quickly, striking six boundaries in his first 18 balls, but de Kock responded in kind, striking the first ball of the 12th over for six, then two boundaries in the next over, and then another six in the over after, and then starting the 16th with three consecutive fours.
Du Plessis fell for a brisk 36 in the 17th over, but by then de Kock was nearing his hundred, and refocussed to reach the landmark from his 89th ball, having been dismissed between 80 and 100 in five of his last seven international knocks.
When he plundered another three boundaries off the 31st over – Kasun Rajitha’s sixth, by the end of which he’d already leaked 60 – it seemed he might go on to make a truly monumental score, but instead he nicked off to give Rajitha some solace.
Rassie van der Dussen carried onto an unfussy half-century, but fell for exactly 50, LBW to ambidextrous spinner Kamindu Mendis. David Miller, Dwaine Pretorius, and especially Andile Phehlukwayo, who finished unbeaten on 38 from just 15 balls, added some late impetus, and ensured South Africa carried on well past 300. 53 runs came from the last four overs of the innings.
Kagiso Rabada removed Niroshan Dickwella soon into the reply, and though Vishka Fernando played some attractive strokes, he was unable to carry his start on, Lungi Ngidi finding the inside-half off the bat, allowing Tabraiz Shamsi to catch it at mid-on.
Kusal Mendis scored quickly from the outset, and he and the more obdurate Oshada Fernando carried Sri Lanka to 75/2 after 16 overs. At this point, rain interrupted the game, and when a resumption was possible, Sri Lanka needed 118 off the last eight overs, a tough ask which became even tougher when Fernando fell two balls after play resumed, edging Shamsi behind.
Mendis struck two big sixes off Shamsi’s next over, but when he fell, caught and bowled to Imran Tahir for a 31-ball 41, the game was as good as done. No more boundaries were forthcoming in the rest of the innings as South Africa eventually secured a 71-run win and an unassailable 3-0 lead in the series.