The victory helped Sri Lanka take an unassailable 4-2 lead in the seven-match series with one more game to be played in Colombo on Tuesday.
     
The in-form Sangakkara hit 12 fours and two sixes as Sri Lanka posted an imposing 292-7 before bowling out the visitors for 202 off 41.3 overs.
     
It was the 20th ODI ton for the stylish left-hander, who is set to retire after the World Cup early next year.
     
Fast bowler Suranga Lakmal took a career-best 4-30 while Sachithra Senanayake picked 3-33.
     
England have now lost six of their last seven ODI series and nine of their last 12 ODIs.
     
Joe Root top-scored with 55 after his side were off to a quick start, scoring 50 runs in the first 10 overs.
 
Root, fresh from his match-winning century in the last game, however got little help from the other batsmen.
     
Captain Alastair Cook's wretched form with the bat continued, making just one before being trapped leg before by Senanayake off the third ball of the innings.
     
Cook has scored just one half-century in his last 21 ODI innings. Earlier, in the day the skipper had dropped an easy catch off Sangakkara when the batsman was on 41.
     
Lakmal, returning to the side in place of Dhammika Prasad, dismissed Ravi Bopara and Eoin Morgan off the second and third balls of the 18th over.
     
But Jos Buttler survived the hat-trick ball with a firm push through mid-on for a boundary.
     
Sangakkara, playing his last international in his home town of Kandy, bid an emotional farewell to his adoring fans as he led the team off the field.

Latest News from Sports News Desk