Third ODI, Dambulla: Sri Lanka 192-6 (47.4 overs) beat South Africa 191 (50 overs) by four wickets
Skipper Marvan Atapattu just missed out on a century as Sri Lanka beat South Africa by four wickets at Dambulla to win their one-day series.
Atapattu ended the game on 97 not out as Sri Lanka reached 192-6 with 14 balls to spare, taking a 3-0 lead with only two matches to play.
The tourists were bowled out for 191 despite 52 from Jacques Kallis.
Shaun Pollock later claimed up his 300th one-day wicket, but Atapattu hit eight fours to dash their hopes.
It was the Sri Lankan spinners who proved too much for the tourists after skipper Graeme Smith had won the toss and elected to bat first.
Tillakaratne Dilshan and Rangana Herath took three wickets each and they were well supported by Kaushal Lokuarachchi, who had figures of 2-23.
Kallis and Herschelle Gibbs (49) were the only South African batsmen to do themselves justice.
Lance Klusener was out for a duck after being sent in at number three as a pinch-hitter when Smith was removed by Chaminda Vaas for 16.
After keeping out three deliveries, he played all around the fourth from Zoysa and was bowled.
TOP ODI WICKET-TAKERS
502 Wasim Akram (Pak)
416 Waqar Younis (Pak)
366 M Muralitharan (Sri)
321 A Kumble (Ind)
315 J Srinath (Ind)
312 C Vaas (Sri)
300 S Pollock (SA) (Sri)
Herschelle Gibbs lofted Vaas for six and also hit four boundaries in a welcome return to form after scores of nought and seven in the first two games.
He was dropped on 43 but his decision to advance down the wicket to slow left-armer Herath six runs later backfired as the ball beat the outside edge and Kumar Sangakkara completed the first of two stumpings.
The South African scoring rate continued to decline, with Kallis taking 104 balls to reach his half-century, and they were only 147-4 when the last 10 overs began.
The first delivery of the 41st accounted for Kallis, who was caught behind, and no other batsman reached 20 as Sri Lanka worked their way through the tail.
Kaushal Lokuarachchi was on a hat-trick after dismissing Pollock (14) and Jean Paul Duminy (three) with successive deliveries, but his next just missed off-stump as Alan Dawson offered no stroke.
Sri Lanka did not find batting any easier when they began their reply and the exit of Avishka Gunawardene for five, lbw to Dawson, lifted South African spirits.
Pollock became only the second man in history to complete the 300 wicket-2,000 run double - after Wasim Akram - when he removed Sanath Jayasuirya for 11.
Sangakkara received a taste of his own medicine when Mark Boucher stumped him off Nicky Boje for 14, but Mahela Jayawardene helped add 46 for the fourth wicket before he was bowled by Duminy.
Klusener made short work of Dilshan and Upul Chandana and with 10 overs to go, Sri Lanka still needed another 50.
Two successive fours off Klusener by Atapattu in the 43rd over eased the pressure and he and Vaas were in control from then on.
With the scores level, Atapattu needed a four to reach his 11th one-day hundred but he lofted drive off Boje which fell well short of the rope and he settled for a single.
Sri Lanka: M S Atapattu (capt), S T Jayasuriya, D A Gunawardene, K C Sangakkara (wkt), D P M D Jayawardene, T M Dilshan, K S Lokuarachchi, U D U Chandana, W P U J C Vaas, H M R K B Herath, D N T Zoysa.
South Africa: G C Smith (capt), H H Gibbs, J A Rudolph, J H Kallis, J P Duminy, M V Boucher (wkt), L Klusener, N Boje, S M Pollock, A C Dawson, M Ntini.