|Third Test, Lord's, day four:|
|England 416 & 233-7 dec: Hales 94, Cook 49*, Pradeep 3-37|
|Sri Lanka 288 & 32-0: Karunaratne 19*|
|Sri Lanka need 330 more runs to win|
England will need to take 10 Sri Lanka wickets on the final day of the third Test to wrap up a 3-0 series whitewash.
The hosts were 109-4 overnight but had to wait until 14:40 BST to resume after rain wiped out the morning session.
Alex Hales brought up his third fifty of the series but was out for 94, with England declaring on 233-7 to set a target of 362.
Dimuth Karunaratne and Kaushal Silva safely negotiated 12 overs as Sri Lanka reached 32-0 at the close of day four.
Sri Lanka's highest successful chase in a Test is the 352-9 they made to beat South Africa in Colombo in 2006, while the biggest total to win at Lord's is West Indies' 344-1 against England in 1984.
Hales falls short again
Hales will reflect on a successful yet frustrating series after a final innings which demonstrated both his rich promise - and a glaring area for improvement.
Resuming on 41, the Nottinghamshire man quickly went to his half-century with two streaky fours through the slip cordon.
Thereafter he played with much more assurance, scoring particularly heavily in front of square on the leg side, and he seemed certain to record his first Test century as an authoritative sweep took him into the 90s.
But instead he fell for the third time in the series between 80 and 100 as he played across a straight delivery from Angelo Mathews and was lbw.
In truth, Hales should have been out earlier when he was bowled by Nuwan Pradeep on 58, only for umpire Rod Tucker to signal that the bowler had overstepped.
But replays revealed that part of Pradeep's heel was behind the crease, prompting the Sri Lankans to hang their national flag over the team balcony in protest.
Cook's uncharacteristic cameo
Having been injured when he was hit on the knee at short leg, England captain Alastair Cook had not come out to bat on Saturday, and he emerged at number seven when nightwatchman Steven Finn was dismissed in the fifth over of the day.
It was the first time in Cook's England career that he had batted outside the top three, but he appeared undeterred as he put on 82 with Hales in typically measured style.
However, after Hales was dismissed, Cook cut loose, trying a range of unorthodox scoops and dinks, and striking only his 11th six in 129 Tests with a huge hit over deep midwicket.
The Essex batsman denied himself a 48th Test fifty when he declared with himself on 49.
What they said
England batsman Alex Hales on Test Match Special: "I was disappointed to get out, but I had my fair share of luck today, and eventually it ran out. It was a really bitter pill to swallow, but looking back I'm still pretty pleased with how I went.
"As an opener, it's frustrating to get so close to three figures and if I'm going to be a successful Test opener it's something I'm going to have to get better at.
"Hopefully if we get lucky with the weather tomorrow [Sunday] and bowl as well as we have all series we can put them under pressure and win this game."
Former England batsman Geoffrey Boycott on BBC Test Match Special: "When Hales finished in South Africa I said he can't open in Test cricket playing like that.
"All credit to the lad for being smart enough, thoughtful enough to work something out and let the ball come to him. He has shown he can play if he plays like that.
"If you read Bradman, the first thing he says about batting is concentration. Hales is getting better and better - full marks to him."
How's stat?! The numbers you may have missed
- This was the first time Alastair Cook has batted lower than number three in 129 Tests.
- Hales is the first England opener other than Cook to make four scores of 50 or more since Andrew Strauss retired in 2012.
- James Anderson did not open the bowling for England in a Test he has played in for the first time since May 2009.