Tillakaratne Dilshan's blistering century was instrumental in Sri Lanka kicking-off their campaign in the ICC Champions Trophy on a winning note at the Centurion on Tuesday.
The dashing opener scored 106 off 92 deliveries as Sri Lanka beat No 1-ranked South Africa by 55 runs in a rain-affected opening Group B match.
Dilshan was involved in a 158-run stand with captain Kumar Sangakkara (54), before Mahela Jaywardene scored a quick 77, as Sri Lanka, put in to bat, amassed an imposing 319-8.
Graeme Smith gave the South Africans a strong start with a 44-ball 58, but 24-year-old Lankan spin sensation Ajantha Mendis, playing against the Proteas for the first time, dashed whatever hopes the hosts may have entertained of a winning start, claiming three wickets for 30 runs before rain ended play with the score 206-7.
South Africa now must win their next match against New Zealand on Thursday to stay in the race for a berth in the semi-finals of the tournament.
With a huge mountain to climb, South Africa started disastrously, as a thick inside edge off the bat went on to dislodge Hashim Amla's leg stump (9-1).
But Smith and new batsman Jacques Kallis staged a fightback and took the score to 90.
The South Africa captain raced to 58 off 44 balls before he was bowled by Mendis's first delivery. The ball hurried back into the left-hander and went through his 'gate'.
Mendis also dismissed Kallis (41), who added 81 for the second wicket with Smith in 11 overs, Angelo Mathews taking a fine diving catch at mid-off.
JP Duminy was then bowled for a golden duck by Mendis with a similar delivery that accounted for Smith, while the dismissal of AB de Villiers (24), caught off a top-edge while trying to pull a Lasith Malinga short delivery, put the brakes on the hosts.
Johan Botha and Albie Morkel took South Africa beyond 200 with some late hitting before rain intervened, forcing the game to be abandoned in the 38th over with South Africa comfortably short of their Duckworth/Lewis target of 261.
Earlier, Dilshan hit 16 fours and a six on his way to 106, while Kumar Sangakkara (54), Jayawardene (77) and Thilan Samaraweera (37) chipped in with useful contributions after Graeme Smith won the toss and inserted Sri Lanka.
Sri Lanka were off to a reasonable start, with Dilshan hitting the third ball of the innings for a cover boundary.
Sanath Jayasuriya (10) soon joined the party and sent Wayne Parnell across the cover boundary twice.
But pacer Dale Steyn spoiled the party, trapping Jayasuriya in front of the wicket as Sri Lanka were reduced to 16 for one in 2.2 overs.
Dilshan kept attacking the bowlers and along with skipper Sangakkara forged a 158-run stand for the first wicket before the latter was sent packing by JP Duminy in the 28th over.
Six balls later, Steyn had Dilshan caught at third man by Albie Morkel as his second wicket to reduce Sri Lanka to 181 for two in 29.1 overs.
Jayawardene and Samaraweera then joined hands and helped the side surpass the 200 mark in 34 overs and then exploded in the end to swell the total as Sri Lanka cross the 300-mark hurdle in the 47th over.