Hashim Amla's 13th century in One-Day International cricket and a 151-run stand with captain AB de Villiers led South Africa to a convincing 75-run win in the first of a three match series against Sri Lanka.
Amla scored 109 including eight boundaries to take the Proteas to 304 for five in 50 overs after electing to bat first at R. Premadasa Stadium.
South Africa made a steady but cautious start to their innings in scoring 58 for the first wicket off 77 deliveries. Opener Quinton de Kock looked well-set before he chased a wide delivery from Sri Lanka captain Mathews to be bowled off the edge for 27.
Veteran Jacques Kallis, who was playing his first international in seven months, lasted just two deliveries and was out without scoring trapped lbw by spinner Ajantha Mendis.
Kallis' dismissal brought Amla and De Villiers together and they provided the base for a challenging total.
Spinner Ajantha Mendis was Sri Lanka's most successful bowler with three wickets for 61.
Sri Lanka's chase
Sri Lanka started their chase well adding 50 runs for the opening wicket with Kusal Perera leading with 34 off 33 deliveries before being caught by Morkel at short-fine leg.
His opening partner Tillakaratne Dilshan departed for 40 after adding 48 runs with Sangakkara, leaving Sri Lanka on 98 for two.
Mahela Jayawardene (10), Ashan Priyanjan (5) and Angelo Mathews (13) all departed cheaply before Sangakkara paired with Lahiru Thirimanne for a 52-run stand off 48 deliveries again raising Sri Lanka's hopes.
However with rain clouds looming and the need to keep pace with their opponents' rate of scoring, the Sri Lankans were dismissed trying to play aggressive shots.
Thirimanne was bowled by McLaren for 15 and Sangakkara was out two deliveries later for 88 after being caught by substitute fielder Faf du Plessis off the same bowler.
Legspinner Imran Tahir took three wickets while seamers Ryan McLaren, Dale Steyn and Morne Morkel took two wickets each to dismiss Sri Lanka for 229 in the 41st over.