LONDON: Nuwan Pradeep took three wickets and did some serious damage to a couple of England careers as Sri Lanka fought to avoid a series whitewash in the third Test at Lord's on Saturday.
England in their second innings were 109 for four at the close of the third day, a lead of 237 runs.
Alex Hales was 41 not out, having been dropped on 19 and 39, with nightwatchman Steven Finn, missed on one, unbeaten on six.
England, 2-0 up in the three-match series, were rocking at 50 for three before first-innings century-maker Jonny Bairstow helped Hales add 52 for the fourth wicket.
Hales launched the innings with two fours in as many balls off Suranga Lakmal.
But he was dropped on 19 when Dimuth Karunaratne failed to hold a one-handed slip chance off paceman Pradeep.
However, it wasn't long before Pradeep had Nick Compton out for 19 instead.
Compton had been promoted to open in place of England captain Alastair Cook, after the left-hander suffered a knee injury fielding close in earlier on Saturday.
By his own admission, Compton needed a big score to secure his place.
But on his Middlesex home ground and one where a stand is named after his grandfather Denis Compton -- one of England's greatest batsmen -- he was caught behind tamely pushing at Shaminda Eranga.
England were now 45 for one and that quickly became 50 for three.
Joe Root (four) was bowled by an absolute shooter from Pradeep.
New batsman James Vince, like Compton, was seeking runs, albeit this was the Hampshire batsman's maiden Test series.
But Vince was out for a golden duck as he deliberately played no shot to a Pradeep delivery that nipped back down the Lord's slope and knocked over his off stump.
Bairstow, in at 84 for four in the first innings before making a Test-best 167 not out, survived the hat-trick.
But on 32 he too was clean bowled by Pradeep.
Hales then saw a tough one-handed chance down the legside off Pradeep dropped by wicket-keeper Dinesh Chandimal.
Worse followed for Pradeep next ball when Chandimal inexplicably failed to move for a Finn edge.
Pradeep ended the day with three for 25 in nine overs but his figures could easily have been better.
Earlier, England all-rounder Chris Woakes started and finished a collapse that saw Sri Lanka, 162 for one overnight, dismissed for 288.
That gave England, who made 416 in their first innings, a lead of 128.
Woakes, who took a wicket with his first ball Saturday, ended the innings with the opening delivery of a new spell when Eranga was caught in the slips.
Warwickshire all-rounder Woakes took three for 31 in 17.1 overs.
Sri Lanka resumed Saturday with Kaushal Silva 79 not out and Kusal Mendis 25 not.
But they both fell for their overnight scores as Sri Lanka subsided in the face of increasingly accurate fast bowling, with the overcast conditions making batting harder than had been the case on Friday.
"To come back and bowl them out for 288 was a very good effort," England fast bowler Steven Finn, who returned to form with three for 59, told Sky Sports.
The Middlesex quick added: "It felt a lot better and I felt back to being myself.
"Lord's is my home ground and it was nice to get that first wicket and relax into it."
England remain uncertain regarding Cook's fitness and Finn added: "Hopefully the captain will be able to come back tomorrow and bat and we can get an unassailable lead."
Woakes had Mendis lbw with his first ball Saturday before Silva was caught behind off Stuart Broad.
Kusal Perera (42) and Rangana Herath (31) checked England's progress with a seventh-wicket partnership of 71.
Perera's bold innings was particularly impressive as this was his first match in more than six months after a drugs ban was rescinded because of a botched analysis.
He was eventually caught behind after wildly slogging at James Anderson to start a slump that saw Sri Lanka lose all their last three wickets on 288.