Super sub Malinga Bandara took three wickets for 31 runs off 8.2 overs to help bowl Sri Lanka to a 94-run victory over South Africa in a triangular one-day match in Brisbane on Tuesday.
Man of the match Kumar Sangakkara (88) and Jehan Mubarak (61) shared a 112-run second-wicket partnership, to guide Sri Lanka to an imposing 282-6 off their 50 overs.
Chaminda Vaas and Muttiah Muralitharan then grabbed two wickets each while the Sri Lankan fielders affected two runs outs to bowl the South Africans out for 188 in 44.2 overs.
Wicketkeeper Mark Boucher, who blazed an unbeaten 63 off 62 deliveries to guide his side to a five-wicket victory over Australia on Sunday, top-scored for South Africa with an intelligent 62 before he was the last man out.
Super sub Jacques Rudolph, who replaced Monde Zondeki, added 53 before he was the second of South Africa's two run outs.
Sri Lanka, who were thrashed by Australia by 116 runs in the first match in the series in Melbourne last Friday, produced a vastly improved all around performance on Tuesday.
It was only their third victory in their last 12 games after losing a series to India 6-1 and then losing three of four games in New Zealand.
Captain Marvan Atapattu, who made 33 in their innings, juggled his bowlers intelligently, never allowing the South African batsmen to settle into a rhythm.
Sri Lanka earned a bonus point for bowling South Africa out for less than 225 runs and joined Australia on five points after both have played two games each. South Africa have four points.
South Africa, who lost Jacques Kallis before the game due to a re-occurrence of an elbow injury, play Australia in the next match in the series at Melbourne's Docklands Stadium on Friday.