Bloemfontein - South Africa won the third one-day international against Sri Lanka by four runs, according to the Duckworth Lewis method, here on Tuesday.Scorecard from Bloemfontein They also won the five-match series, taking an unassailable 3-0 lead and giving AB de Villiers a win in his maiden series as captain.When heavy rain brought an early conclusion to the match, South Africa were 179 for five after 34 overs.At the start of the last over, they were three runs behind the required run rate but Lasith Malinga bowled a loose over, conceding eight runs, including a wide.Earlier, Malinga had started magnificently, taking two wickets for 12 runs off his first spell (4-1-12-2), bowling out both Graeme Smith (2) and Colin Ingram (13) leaving the Proteas wobbling on 29 for two.Tillakaratne Dilshan then stuck with his first ball, trapping Alviro Petersen lbw for 17, after an unsuccessful reverse sweep.Faf du Plessis, coming in at four, and JP Duminy combined for a much-needed 61-run partnership before Duminy was run out. It was, however, a controversial decision as the television replays were not totally conclusive and the batsman was unlucky not to be given the benefit of the doubt.Be that as it may, Duminy was given out, but he continued to hang around in the middle. When he finally started to walk, he looked up to the team balcony and stopped, seemingly getting a different instruction from his coach. The umpire had to ask him to leave the field.Du Plessis was also run out after a match-saving 72 runs, but as he was suffering from cramps, he left the crease without any further arguments.AB de Villiers, who possibly tried one experiment too many in only his third match as captain, batted with Albie Morkel and the pair secured the winning runs, conscious of the onset of rain.Winning the toss and opting to bat first, the Sri Lankans enjoyed their best opening partnership of the series, and the tour, losing their first wicket on 94.It was the spinners who made the initial breakthrough, taking the first two wickets.Robin Peterson ended Upal Tharanga’s innings of 58 (50 off 54 balls) after he carelessly top-edged an attempted sweep to Colin Ingram at short fine-leg.Duminy redeemed himself, after Tharanga had hit him for two sixes earlier, when Dale Steyn took a tumbling catch to get rid of Dilshan (33), who had played an uncharacteristically patient innings.Kumar Sangakkara and Dinesh Chandimal put on a 57-ball 50 for the third-wicket, before Chandimal was run out by Faf du Plessis, who uprooted the stumps with an electric throw from backward point.Sangakkara seemed to have finally regained his flair and had batted magnificently for his 38.Colin Ingram ended any hopes of Mahela Jayawardene proving he too had remembered how to bat, with another direct hit at the stumps.The Proteas’ fielding went from one extreme to the other - at times brilliant and at other times shoddy. They dropped several catches, two of which were put down by captain AB De Villiers behind the stumps.At the end of their 50 overs, Sri Lanka made 266 for nine, losing a wicket on the last ball to another run out.