Quinton de Kock ended a streak of near misses with a scintillating century, setting up a series-clinching win for South Africa in the third one-day international against Sri Lanka at Kingsmead on Sunday.
De Kock hit 121 in a South African total of 331 for five, highlighting what captain Faf du Plessis described as a "brilliant" team batting effort.
Sri Lanka, chasing a revised target of 193 in 24 overs after a lengthy rain delay, made 121 for five.
South Africa's 71-run win, according to the DLS formula, gave them a winning 3-0 lead in the five-match series.
Sri Lanka were 75 for two after 16 overs at the rain break and faced a near-impossible task of scoring another 118 off 48 balls when play resumed, especially with Kusal Perera out of action with a leg injury.
"Rain-affected games are not nice but the way we bowled up front, getting wickets, it was going to be tough for them in a full game," said Du Plessis.
SCORES IN BRIEF:
SOUTH AFRICA:331 for 5 (de Kock 121, der Dussen 50, Miller 41 not out; Udana 2-50)
SRI LANKA: 121 for 5 in 24 overs (Mendis 41, Fernando 25; Tahir 2-19)
Result: South Africa won by 71 runs (DLS method)
Player-of-the-match: De Kock.