The wicketkeeper began his innings at a steady pace but opened up his shoulders in the last 10 overs to set the tourists a daunting target as Sri Lanka reached 320 for five.
South Africa captain AB de Villiers won the toss and decided to bowl but Morne Morkel struggled to find his line in the first over, bowling three wides to Upul Tharanga.
It was a similar story in the next over with Chris Morris sending four wides down as the tourists conceded 19 runs in the opening two overs, seven of them extras.
But they had some joy in the fourth when Morris bowled Tillakaratne Dilshan off his pads for 10.
That brought Sangakkara to the crease and he was quick to assert his authority, lofting Robin Peterson over the boundary for six in the 10th over.
The pair were building a potentially dangerous partnership but it was ended on 70 as Tharanga dragged on from Morkel for 43.
Sangakkara was still there however, and he launched Aaron Phangiso for six to take him within one of his half-century and duly completed the job with a single in the 29th over.
The following ball saw a big leg before appeal against Mahela Jayawardene as he missed a sweep. The umpire was unconvinced but De Villers called for the review which showed the ball was missing leg.
Jayawardene was gone for 42 five overs later though as he played a pull shot straight to deep midwicket off the bowling of Morkel.
He and Sangakkara had put on 74 for the third wicket and the latter was now looking to up the pace as he hammered Morris for four, four, six and four in consecutive balls in the 39th over.
He plundered 12 off the next and moved to his 16th ODI century with a four off JP Duminy.
And Sangakkara needed just six further overs to bring up his 150 as he began to tee off with nine fours and a six during that time.
He lost fourth-wicket partner Lahiru Thirimanne as the middle-order batsman hit Ryan McLaren to Peterson but he had added just 17 runs in their combination of 123 which came at a rate of 8.89 an over.
Sangakarra had time to launch another mighty six before he misjudged one and skied Phangiso to long-on to end a 137-ball innings containing 18 fours and four sixes.
- Sports & Recreation
- Morne Morkel
- Upul Tharanga