Aiden Markram hit an unbeaten 67 to put South Africa in a dominant position before floodlight failure ended the fifth and final one-day international against Sri Lanka at Newlands on Saturday.

South Africa won by 41 runs according to the Duckworth/Lewis/Stern method when no further play was possible. The hosts were on 135 for two after 28 overs in reply to Sri Lanka’s 225 all out.

The win clinched a 5-0 series clean sweep for South Africa, continuing a horror run for the tourists. It was their fourth whitewash defeat in a five-match series in less than two years.

Markram was the night’s big winner. Left out of South Africa’s one-day team for the first eight matches this year, he was recalled for the final two matches of the Sri Lanka series on the back of outstanding form in domestic games. Saturday’s innings seems certain to ensure that he is part of South Africa’s squad for the Cricket World Cup later this year. He was named man of the match.

It was another poor performance by Sri Lanka despite a half-century by Kusal Mendis, who made 56, and an adventurous partnership of 61 off 53 balls between Priyamal Perera and Isuru Udana.

Sri Lanka fell three balls short of batting out a full 50 overs, continuing a sequence going back to October 2018. The only time in their most recent eight matches when they were not bowled out was in the rain-shortened third match of the current series when they were well short of the required run rate when play was halted.

Mendis played a measured innings in making his second half-century of a series in which none of his fellow top-order batsmen reached the 50 mark. He was needlessly run out after a mix-up with Priyamal Perera in the 35th over at a time when he could reasonably have been expected to start accelerating. He faced 84 balls and hit three fours.

Udana, the only other Sri Lankan to hit a half-century in the series, again made a lively tail-end contribution, hitting 32 off 29 balls before he and Priyamal Perera fell off successive deliveries from Kagiso Rabada in the penultimate over. Rabada finished with three for 50.

Leg-spinner Imran Tahir, in his final one-day international in South Africa, took two for 33, while fast bowler Anrich Nortje took two for 35.

Sri Lanka made a good start in the field when South African opening batsman Quinton de Kock flicked Sri Lankan captain Lasith Malinga to deep square leg after scoring six. It was the first failure of the series for De Kock and ended a sequence of five successive scores of 50 or more by the left-hander.

Markram survived two sharp chances, Udana lunging to his right but failing to hold a return catch when the batsman was on two, and on 13 when a diving Oshada Fernando could not hold a difficult chance in the covers off the same bowler.

But Markram batted with authority in sharing half-century stands with captain Faf du Plessis and Rassie van der Dussen before the umpires decided the light was not good enough for play to continue.