South Africa took a 4-0 lead over Sri Lanka in their one-day international series as they coasted to a six-wicket win in Port Elizabeth.
Sri Lanka were bowled out for 189 in only 39.2 overs, with a career-best 78 from Isuru Udana - batting at nine - rescuing the innings from complete embarrassment.
Paceman Anrich Nortje prospered from the extra bounce to take best-innings figures of three for 57, while Andile Phehlukwayo took two for 21.
Quinton De Kock's fifth successive ODI fifty got South Africa off to a strong start in response.
Sri Lanka spinner Dhananjaya De Silva took three for 41, but De Kock (51) and Faf Du Plessis (43) put the hosts in command.
JP Duminy (28 not out) and David Millar (20 not out) eased South Africa home as the Proteas reached their victory target with a massive 103 balls to spare.