Leeds: Mahela Jayawardene produced a beautifully crafted 144 from 150 balls, the highest of his 15 ODI centuries and his fifth against England, as Sri Lanka put the memories of their soggy defeat at The Oval to one side with an imposing 69-run victory in the second one-day international at Headingley.
Faced with a stiff target of 310, England threatened for a while, particularly while Eoin Morgan was compiling a 37-ball half-century, but eventually succumbed to 240 all out.
Earlier, Mahela Jayawardene's career-best century powered Sri Lanka to 309 for five.
The opener made 144 - Jayawardene's highest score in 343 ODIs surpassing his 128 against India at Sharjah in 2000.
A couple of reckless run-outs reduced Sri Lanka to 45 for two in the 10th over after England captain Alastair Cook won the toss and elected to field.
But a record stand of 159 between former captains Jayawardene, dropped on seven, and Kumar Sangakkara, who made 69, turned the tide Sri Lanka's way.
Angelo Mathews kept the runs coming with a brisk 46 not out off 30 balls while Jeevan Mendis' unbeaten seven included a hooked six off Stuart Broad that saw Sri Lanka past 300.
Off-spinner Graeme Swann - who dropped Jayawardene - led England's attack with two wickets, both stumpings completed by wicketkeeper Craig Kieswetter to remove Sangakkara and Jayawardene.
But the seamers suffered with Broad, Tim Bresnan and Jade Dernbach managing just one wicket between them for 203 runs in a combined 28 overs.
James Anderson's none for 44 in 10 overs was respectable in comparison.
Sri Lanka skipper Tillakaratne Dilshan was run out for nine when he failed to beat Broad's underarm direct hit on the bowler's end stumps.
The tourists were fortunate not to lose Jayawardene soon afterwards when first slip Swann dropped a high chance off Bresnan.
Dinesh Chandimal, replacing the now retired Sanath Jayasuriya following England's 110-run win at The Oval on Tuesday, fell in similar fashion to Dilshan for five, only this time Anderson hit the stumps.
Sri Lanka 309 for 5 (Jayawardene 144, Sangakkara 69)
England 240 (Morgan 52, Randiv 3-43, Lakmal 3-43)
Results Sri Lanka won by 69 runs
MOM Mahela Jayawardene (Sri Lanka)