Kumar Sangakkara, playing his final ODI on home soil, set a record for the most runs in a calendar year as Sri Lanka thumped England by 87 runs in the last match of the series in Colombo.
Sri Lanka continued to dominate the touring side, taking the series 5-2 in a warm-up for next year's World Cup.
The Sri Lankans posted an imposing total of 302 for six from their 50 overs and bowled out the English for 215 in the 46th over.
Sangakkara, who will retire from ODIs after next year's World Cup in Australia and New Zealand, made 33 off 51 balls.
When he got to six, the 37-year-old broke Ricky Ponting's record for the most international runs, in all formats, for a calendar year. The former Australia captain scored 2,833 in 2005.
His dismissal had little impact on Sri Lanka's innings as Tillakaratne Dilshan scored a century in his 300th ODI.
Dilshan made 101 off 124 deliveries, featuring nine fours and one six, to register his 18th ODI hundred and pass 9,000 career runs.
Dinesh Chandimal (55 not out) and Thisara Perera (54) both knocked up half-centuries to take the total past 300, a target that proved too much for the struggling English side.
Beleaguered England captain Alastair Cook made a scratchy 32 and only Joe Root played a significant innings with 80, his second half century of a series in which he also made a hundred.
Root struck five fours in his 99-ball knock before falling lbw to Seekkuge Prasanna.
Dilshan, starring with both bat and ball, captured three wickets with his offbreaks.