England will face a target of 240 today to win the fifth one-day international and stay in the series, after Chris Woakes took six wickets and rain then intervened at the Pallekele International Stadium.
Woakes, with six for 47, was statistically England's outstanding bowler as Sri Lanka were all out with an over unused on an awkward surface, despite another fine hand from Kumar Sangakkara.
Rain between innings intensified, and ensured England must return on the reserve day to try to reduce the series arrears to 3-2 with two more to play.
Sangakkara underpinned the home total after Alastair Cook chose to bowl first - with heavy clouds threatening, and Duckworth-Lewis always considered a distinct possibility.
The veteran left-hander turned his fourth successive half-century into a precious 91, sharing stands of 51 with Tillakaratne Dilshan and then 85 with Angelo Mathews.
But on a turning pitch which persuaded Cook to use 25 overs of spin, James Tredwell - surprisingly omitted from the last two matches - bowled 10 for just 33, and seamers Woakes and Chris Jordan also fared well.
Jordan was involved in each of the first four wickets.
He held a sharp chance at second slip to see off Kusal Perera for a second-ball duck off Steven Finn, bowled Dilshan off an inside edge and was perfectly placed at a wide solitary slip as Mahela Jayawardene went cheaply when he edged Woakes.
Sri Lanka were 59 for three. But Sangakkara played the long game, ably assisted by Mathews until Jordan - who had just failed to hold a very tough return chance offered by the home captain on 36 - got him for 40 instead, mis-pulling one that hurried on.
Three overs of spin in powerplay, including a maiden from Tredwell, helped England limit Sri Lanka to 25 for none.
Tredwell then had Lahiru Thirimanne lbw sweeping at the start of the last 10 - but Sangakkara had power to add until he picked out deep midwicket off Woakes as he searched for an 11th four.
The late scurry favoured England, and especially Woakes despite some harsh calls for wides among the 15 conceded in all, as wickets continued to tumble and Sri Lanka eventually ran out.
Woakes took his last five wickets in 17 balls, starting with Sangakkara and including dangerous hitter Thisara Perera also caught in the deep.
When he bowled Ajantha Mendis to end the innings, he had bagged himself a notable claim to fame.
His second six-wicket haul in ODIs is only the third in England's history, the other belonging to former captain Paul Collingwood.
Comments: Our rules
We want our comments to be a lively and valuable part of our community - a place where readers can debate and engage with the most important local issues. The ability to comment on our stories is a privilege, not a right, however, and that privilege may be withdrawn if it is abused or misused.
Please report any comments that break our rules.
Read the rules here