Six wickets from Chris Woakes helped dismiss Sri Lanka for 239 before rain halted England's fight back in their fifth one day international on Wednesday (10 December).
The hosts, who lead the seven match series 3-1, were all out after 49 overs but England will have to wait until Thursday to mount a comeback after weather conditions at the Pallekele International Stadium.
Kusal Perera was the first to depart after failing to register a single run off Steven Finn's delivery. Tillakaratne Dilshan struck 35 off 31 deliveries before he was bowled out by Chris Jordan.
The partnership of Kumar Sangakkara (91) and Angelo Mathews (40) allowed Sri Lanka to rediscover their rhythm but the latter missed out on his century after he was caught on the boundary by Joe Root from Woakes' delivery.
Sangakkara's departure sparked Sri Lanka's collapse but Thisara Perera offered some resistance after hitting a respectable 27 before Root claimed his second catch of the day.
Warwickshire's Woakes had time to add another two wickets to his name, dismissing both Sachithra Senanayake and Ajantha Mendis without a run to their name as Sri Lanka crumbled.
Sri Lanka can win the series on Thursday should England fail to hit their target of 240.