Captain Mahela Jayawardene scored a second successive one-day hundred to lead Sri Lanka to another easy 33-run win over England in Manchester on Wednesday.
Jayawardene made a sparkling 100 off 83 balls, following his 126 not out at Chester-le-Street on Saturday, to put his team 4-0 up with one game to go in a one-sided five-match series.
The touring side, opting to bat, posted a formidable 318 for seven before England were bowled out for 285 in 48.4 overs.
Again, the key to victory was Sri Lanka's inventive, authoritative batting.
Their batsmen have scored four centuries in the four matches while no Englishman has reached three figures. In addition, the home team's bowling has been horribly indisciplined.
Jayawardene said Sri Lanka would aim to clinch a clean sweep at Headingley, Leeds on Saturday.
"We keep saying we'll take one match at a time so the whole focus will now be on that," said Jayawardene.
"If we keep doing the same we have an excellent chance."
Man of the match Jayawardene and Upul Tharanga (60) set the foundation for the win at Old Trafford.
Targetting the seamers, they put on a lightning 137 for the second wicket, galloping along at eight runs an over.
England's fielders were not much better than the bowlers, with Jayawardene dropped on seven and 27 and missed again one run later when a direct throw would have run him out.
The home side seemed to give themselves a chance when they took five middle-order wickets for 60 runs to peg Sri Lanka back to 220 for six.
Jayawardene was one of those wickets, chipping an easy catch back to off spinner Jamie Dalrymple.
But Sri Lanka provided a spectacular, match-winning finish as 68 runs came off the final six overs. Farveez Maharoof hammered an unbeaten 58 off 50 balls while Malinga Bandara, batting at nine, made 28 not out off 22.
Seamer Kabir Ali, losing his length completely, was hit for 35 off his last two overs including three sixes and three fours. He finished with none for 77 off his 10 overs.
England's reply began brightly, with Marcus Trescothick and Alastair Cook putting on 77 in 12 overs before the two left-handers fell in quick succession.
Trescothick, having hit 44 off 40 balls including seven fours and a straight six off fast bowler Dilhara Fernando, slapped a catch to mid-off as he drove at Lasith Malinga.
Cook, on his one-day debut, played a delivery from Fernando into his stumps for a run-a-ball 39.
Skipper Andrew Strauss and Ian Bell put on 76 for the third wicket before falling in the space of three deliveries.
Strauss was caught behind off Tillakaratne Dilshan's off spin for 45 while Bandara got rid of Bell for 30, stumped in freakish circumstances.
The ball came off Kumar Sangakkara's pads and then fell on to the top of the stumps via the wicketkeeper's chin.
That left England on 161 for four, with the run rate climbing rapidly as the spinners strangled the scoring.
Strauss said: "We keep making the same mistakes. We talked about batsmen getting a hundred and no one did that.
"We talked about bowling straight with the ball but no one did that either, it's pretty disappointing again."