Pallekele, Sri Lanka: Roshen Silva struck a combative fifty and expertly guided Sri Lanka's lower order to help the hosts gain a first-innings lead of 46 against England on the second day of the second Test on Thursday.
The hosts were handed a five-run penalty in a bizarre incident during the final session, after the match officials ruled Sri Lanka's batsmen to have breached the law governing deliberate short runs. It took England's total to 290.
In reply, Sri Lanka were all out for 336 shortly before the close of play with Silva's 85 being the highlight of their innings.
England's Jack Leach and Rory Burns were both unbeaten on nought, safely negotiating the one over they had to face before stumps were drawn.
Sri Lanka, trailing 1-0 in the three-Test series after last week's loss in Galle, added 171 for their last four wickets to take a crucial lead, which had looked unlikely at one stage.
After resuming on 26-1, they lost nightwatchman Malinda Pushpakumara in the third over to a poor shot.
That dismissal brought opener Dimuth Karunaratne and Dhananjaya de Silva together, and the duo built a stand of 96 through some smart batting with England's bowlers looking bereft of ideas as the partnership grew.
All-rounder Ben Stokes then stole the show with two brilliant efforts in the field to help England break through Sri Lanka's resilience with a brace of wickets shortly before the lunch break.
Stokes sprinted from gully when de Silva prodded to the off side, picking the ball up with one hand and completing a run out with one stump to aim at to dismiss Karunaratne for 63.
Stokes was soon in the thick of things once more when he took a sharp one-handed catch at slip to dismiss Kusal Mendis for one off left-arm spinner Jack Leach.
Leg-spinner Adil Rashid reaped rewards for his probing line and length when he induced an edge from de Silva, who made 59, with wicketkeeper Ben Foakes completing a smart catch.
Former captain Angelo Mathews fell in a similar fashion for 20 to Rashid with Foakes holding onto the catch at the second attempt.
Sri Lanka were tottering at 165-6 at that stage and needed a contribution from their lower order to stop England from gaining a sizeable advantage.
Niroshan Dickwella (26) and Silva proved up to the task with a 46-run stand for the seventh wicket before England captain Joe Root made the breakthrough by dismissing the former leg before.
Silva continued to frustrate England's bowlers in the final session, adding 56 for the ninth wicket with Akila Dananjaya (31) and another 28 with stand-in skipper Suranga Lakmal, who remained on 15 not out.
The 29-year-old Silva was, however, guilty of not grounding his bat at the non-striker's end while going for a second run, which resulted in the penalty that could prove important if the match turns out to be a tight one.
He was the final wicket to fall for Sri Lanka, handing Rashid his third wicket. Leach also picked up three wickets for the touring side, whose seamers failed to take a single wicket in the innings - the first time for England since 1974.