Colombo - Sri Lanka beat England by 90 runs in the sixth one-day international at Pallekele on Saturday to take an unbeatable 4-2 lead in their seven-match series.
Kumar Sangakkara completed his 20th one-day international century to help the home team post a healthy total of 292 for seven.
England could only muster 202 in reply, bowled out in less than 42 overs despite a resilient 55 from Joe Root.
The evergreen Sangakkara blazed 112 off as many balls, highlighted by 12 fours and two sixes, after the 37-year-old was dropped on 41 by England captain Alastair Cook.
The Sri Lankans made a slow start, scoring just 27 runs off the first 10 overs, before Sangakkara opened up, putting on 153 with Tillakaratne Dilshan for the second wicket.
Dilshan made a patient 68 before Dinesh Chandimal pushed the total towards 300 with a brisk 35 in the closing overs.
Chris Woakes, Steven Finn and Chris Jordan captured two wickets each for England, who needed to win the game to square the series heading into Tuesday's final match in Colombo.
"It was a challenging wicket to bat on," Sri Lanka captain Angelo Mathews said.
"I thought Sangakkara was amazing and set the tone for the batsman to play at the end.
"He and Dilshan set the tone. We still want to win the next game as well and win the series 5-2."
England could hardly had made a worse start to their innings when Cook was dismissed lbw for one in the first over.
By the 18th over, England were in deep trouble at 84 for five and although Root completed a half-century and Woakes chipped in with 41, the tourists never came close to challenging Sri Lanka's total as Suranga Lakmal mopped up the tail to finish with 4 for 30.
"For the first 20-odd overs we bowled really well, but it didn't help me dropping Sangakkara," said Cook.
"It was a real big catch to drop because we'd built up some good pressure, but credit to Kumar, he made us pay today."