England must chase 256 for eight to go 2-0 up in the Royal London One-Day International series, after restricting Sri Lanka despite Tillakaratne Dilshan's hard-working 88 at Chester-le-Street.
Eoin Morgan, deputising as captain for the injured Alastair Cook, got his first task right by winning an important toss - and on a pitch which offered all bowlers sideways movement under cloud cover, the odds were immediately stacked against the tourists.
Setting a score was no easy proposition, and Sri Lanka perhaps erred on the side of caution as they kept wickets intact at the expense of momentum.
Morgan deployed his bowlers sensibly and, although England donated 15 extra runs and deliveries in wides and put down two routine outfield catches, they always had a measure of control to ensure the prospect of a feasible chase.
Dilshan batted largely against type in a 101-ball stay which faltered at a decidedly inconvenient moment for the tourists, mid-powerplay just when they had a chance to cash in on their conservative early approach.
Opener Lahiru Thirimanne's innings was a curiosity, even allowing for the awkward conditions facing him and Dilshan.
The left-hander took 18 balls to register his first run, a single to fine-leg off James Anderson, but then responded to some nasty bounce up to the splice from Harry Gurney by smashing the left-armer's very next delivery over wide long on for six.
He still, however, had made only 10 off 37 balls when Anderson got him for the second match in succession - this time with a little extra bounce and away movement, edged to second slip where James Tredwell took a neat catch.
Dilshan was joined by Kumar Sangakkara, back on the ground where he made his Durham debut three weeks ago after deciding to acclimatise for this tour.
They dug in for a stand of 96 in 21 overs until Sangakkara went after Tredwell but managed only to slog-sweep him straight up in the air.
Mahela Jayawardene failed to make his ground for a third run to third-man, beaten by a chase from Gary Ballance and throw on the turn which was not pinpoint.
When Chris Jordan nipped a very good ball back through Dilshan's forward push to hit middle stump, Sri Lanka's hopes of a big powerplay ended.
But Ashan Priyanjan, on six by Gurney at third-man off Jordan, and then Angelo Mathews, on 24 at deep midwicket by Ravi Bopara off Anderson, were both put down in a stand of 66 which helped to add 87 in the last 10 overs despite a late clatter of wickets to Gurney (three for 59).
Priyanjan, playing here only because of Thisara Perera's injury, produced a little gem of an innings of 43 from only 33 balls, before he mistimed to mid on to become Anderson's 250th ODI victim.