Opener Quinton de Kock passed the half-century mark for the eighth time in nine innings across all formats to lift South Africa to a comfortable six-wicket victory over Sri Lanka in the fourth One-day International at St George's Park on Wednesday.
The home side chased down their modest target of 190 in 32.5 overs after winning the toss and electing to field, securing a 4-0 lead in the five-match series with the final fixture to be played in Cape Town on Saturday.
De Kock followed up his century in the previous game with 51 from 57 balls as he blasted South Africa to a fast start in pursuit of the win.
Captain Faf du Plessis chipped in with 43 and JP Duminy showed form after his return from long-term injury with 31 not out.
Sri Lanka were bowled out for 189 in 39.2 overs, their innings rescued to some extent by an extraordinary 58-run final wicket stand between Isuru Udana (78 from 57 balls) and Kasun Rajitha (0).
The pair came together with the score on 131 as Udana powered his way to the highest List A score of his career with seven fours and four sixes before he was finally caught by Du Plessis off all-rounder Andile Phehlukwayo (2-21).
Fast bowler Anrich Nortje (3-57) was the pick of the home attack, though he suffered in the late onslaught from Udana.
South Africa may be concerned at their inability to close out the innings, a feature of their cricket in recent times, with the World Cup starting in a few months.