England's left-arm spinner Jack Leach led a strong spin bowling display that put the tourists within three wickets of a series-clinching victory against Sri Lanka on an intriguing fourth day of the second test on Saturday.
Chasing 301 to win on a turning Pallekele track, Sri Lanka reached 226 for seven when rain ended play for the second consecutive day with the hosts still needing 75 to square the three-test series at 1-1.
Combative half-centuries from former captain Angelo Mathews and opener Dimuth Karunaratne had set Sri Lanka up nicely in their chase after Leach's brilliant spell of spin bowling with the new ball had reduced them to 26-3.
But off-spinner Moeen Ali and Leach, who has already taken a career-best 4-73 in an innings, brought England right back in the game by dismissing Mathews for 88 and Dilruwan Perera for two respectively in quick succession after the tea break.
Sri Lanka's hopes on the final day will rest on wicketkeeper Niroshan Dickwella, who was unbeaten on 27 at the close of play.
Leach had given England the ideal start when he lured Kaushal Silva out of his crease with a flighted delivery to be stumped for four.
Dhananjaya de Silva was out to a smart catch by Keaton Jennings at short leg for one while Kusal Mendis was also trapped lbw for the same score, with England overturning the umpire's not out decision on review.
Karunaratne made a dogged 57 and it was his fourth-wicket stand of 77 with the experienced Mathews that revived Sri Lanka's chase.
MISSED CHANCES England wasted chances to dismiss Karunaratne and Mathews with all-rounder Ben Stokes the guilty fielder and off-spinner Moeen Ali the unfortunate bowler on both occasions.
Karunaratne, who made 63 in the first innings, was on 21 when his edge off Moeen flew past Stokes at slip and the batsman also successfully overturned a leg before decision off Adil Rashid on review.
Karunaratne was finally out to some brilliant fielding at short leg from Jennings, who anticipated a sweep shot from the batsman and moved smartly to his left to parry the ball to wicketkeeper Ben Foakes for a catch off Rashid.
Stokes missed a relatively easier chance when he dropped Mathews at slip with the batsman on seven. The right-hander made England pay dearly with another stand of 73 with Roshen Silva for the fifth wicket.
England missed a chance to dismiss Silva, who had top-scored for the hosts with 85 in the first innings, on 32 when they failed to review a not-out verdict to an lbw shout off Moeen. Replays showed it would have been overturned in their favour.
Moeen sent Silva back on 37 with England captain Joe Root opting to successfully review another not out decision for a bat-pad catch.
Mathews and Dickwella thwarted England further with an attacking 45-run stand for the sixth wicket before Moeen dismissed Mathews leg before.
England had batted for about 20 minutes in the morning before they were all out for 346 for a lead of 300. Foakes followed up his debut century during the win in Galle with an unbeaten 65.
Akila Dananjaya, who was reported for a suspect bowling action after the Galle test but is free to play, notched up career-best figures of 6-115 for the hosts.
England 290 (J. Buttler 63, S. Curran 64; D. Perera 4-61)
Sri Lanka 336 (R. Silva 85, D. Karunaratne 63; J. Leach 3-70, A. Rashid 3-75)
England (overnight 324-9)
J. Leach lbw b Perera 1
R. Burns lbw b Pushpakumara 59
K. Jennings c de Silva b Dananjaya 26
J. Root lbw b Dananjaya 124
B. Stokes lbw b Perera 0
J. Buttler b Dananjaya 34
M. Ali lbw b Dananjaya 10
B. Foakes not out 65
S. Curran b Dananjaya 0
Rashid lbw b Dananjaya 2
J. Anderson b Perera 12
Extras (b4, lb9) 13
Total (all out in 80.4overs) 346
Fall of wickets: 1-4 (Leach), 2-77 (Jennings), 3-108 (Burns), 4-109 (Stokes), 5-183 (Buttler), 6-219 (Ali), 7-301 (Root), 8-301 (Curran), 9-305 (Rashid)
Bowling: Perera 20.4-2-96-3, Pushpakumara 27-1-101-1, Dananjaya 25-0-115-6, De Silva 4-0-7-0, Lakmal 4-0-14-0 Toss:
Sri Lanka 2nd innings
Dimuth Karunaratne c Foakes b Adil Rashid 57
Kaushal Silva st Foakes b Jack Leach 4
Dhananjaya de Silva c Jennings b Leach 1
Kusal Mendis lbw Leach 1
Angelo Mathews lbw Moeen 88
Roshen Silva c Root b Moeen 37
Niroshan Dickwella Not Out 27
Dilruwan Perera lbw Leach 2
Extras (5b 4lb 0nb 0pen 0w) 9
Total (65.2 overs for 7) 226
Fall of Wickets : 1-14 Silva, 2-16 de Silva, 3-26 Mendis, 4-103 Karunaratne, 5-176 Silva, 6-221 Mathews, 7-226 Perera
To Bat : Perera, Lakmal, Pushpakumara
Bowling:James Anderson 5-2-12-0,Jack Leach 23.2-2-73-4,Moeen Ali 15-0-65-2,Adil Rashid 17-1-52-1, Joe Root 5-0-15-0