Roshen Silva steered Sri Lanka into a lead with a classy half-century after England looked destined to take a healthy advantage on day two of the second Test in Pallekele.
Sri Lanka were in trouble on 165-6 on Thursday but led by 46 at stumps after recovering to 336 all out.
Dimuth Karunaratne (63) and Dhananjaya de Silva (59) made half-centuries and Roshen top scored with a superb 85 after receiving support from the tail.
Jack Leach (3-70) and Adil Rashid (3-76) took three wickets apiece, while the tourists were also boosted by five penalty runs - taking their first-innings total up to 290 – awarded after Roshen was adjudged to have deliberately run short.
Sri Lanka added 84 runs for the last two wickets as they attempt to level the three-match series, with nightwatchman Leach successfully seeing off one over before the close.
Day 2, Stumps: Sri Lanka gain a first innings lead of 46 runs. SL 336 v ENG 290, 0/0 (1.0 Ovs) Roshen Silva 85, Dimuth Karunaratne 63, Dhananjaya de Silva 59 : Jack Leach 3/70, Adil Rashid 3/75. #SLvENG pic.twitter.com/0A63Zd7l9T— Sri Lanka Cricket (@OfficialSLC) November 15, 2018
Moeen Ali (2-85) struck in the third over of the day after Sri Lanka resumed on 26-1, Malinda Pushpakumara (4) giving Rory Burns a simple catch at midwicket.
Karunaratne played with great application for a deserved half-century and it took a moment of brilliance from Ben Stokes to run the opener out with a direct hit when the all-rounder only had one stump to aim at.
Sri Lanka were 139-4 at lunch after Stokes demonstrated his prowess in the field again with a brilliant instinctive one-handed catch at first slip when Leach drew an edge from Kusal Mendis (1).
Dhananjaya pulled Stokes for four to bring up his half-century and played with finesse before he was caught behind off Rashid, who generated huge turn to remove Angelo Mathews (20) in the same manner.
Roshen played with increasing authority in a tricky situation, but Sri Lanka were facing a big first-innings deficit when Niroshan Dickwella (26) was trapped leg before by Joe Root.
Dilruwan Perera became Leach's third victim just two balls after Roshen reached his fourth Test half-century at the start of the final session, but Akila Dananjaya offered support in a ninth-wicket stand of 56.
There was confusion when umpire Marais Erasmus deemed Roshen ran short on purpose at the non-striker's end before returning to other, as he and Dananjaya looked unsure if the ball touched the boundary ropes at third man.
He took that on the chin and dished out more punishment of his own, lofting Moeen for six before Rashid finally dismissed him to end the innings after Dananjaya fell for a brisk 31.
Leach played out an over from Dilruwan with confidence as Burns watched on at the other end, ensuring no further damage was done on a frustrating day for Root's side.
|England captain Morgan back batting as Wood sits out|
|Kvitova out of French Open with arm injury|
|Morata: Atletico respect Griezmann - but we can´t lose Simeone|
|We will win Origin opener - Walters ready for ´war´ with NSW|
|Lampard has an aura and will certainly return to Chelsea, says Derby owner|
|Mustafi insists Arsenal defence deserves more credit|
|Cricket World Cup 2019: India great Dhoni should bat four in likely World Cup farewell|
|Centre-back Toure & Messi´s breakthrough year - Barcelona´s 2009 Champions League winners|
|Cricket World Cup 2019: England´s rivals plotting to rip up the script|
|Barcelona 2008-09: The lasting legacy of Guardiola and Messi´s masterpiece|
|Sane would be Robben and Ribery´s successor – Rummenigge talks up Bayern move|
|Truex secures third win of season|
|Kompany will return to Man City one day, says chairman|
|Twins complete sweep of White Sox, extend winning streak to six|
|Na surprises caddie with unique gift after Charles Schwab Challenge win|
|MLS Review: Wondolowski takes tally to 150, Sporting KC win five-goal thriller|
|Ferguson hails Bayern structure amid United struggles|
|Tuchel can´t guarantee Neymar & Mbappe futures|
|Sane will join Bayern from Man City – Matthaus|
|Spalletti: I don´t know if I´ll leave Inter|
|Cherry-Evans named as Maroons include three debutants|
|Giannis: Bucks will be back stronger and better|
|Na claims Charles Schwab Challenge|
|´I´m in pieces´ – Gattuso to consider Milan future|
|Finland edge Canada to clinch third world title|
|Al Mubarak defends City´s spending amid criticism|
|De Rossi bids emotional farewell to Roma|
|Allegri: I won´t be rushed into my next move|
|Atalanta book Champions League debut, Empoli relegated|
|No excuses from Kerber after Paris exit, Svitolina dispatches Venus|
|Pagenaud holds off Rossi to win Indy 500|
|Inter 2 Empoli 1: Keita, Nainggolan secure Champions League berth in thriller|
|SPAL 2 AC Milan 3: Kessie brace not enough for Champions League place|
|Lyon star Aouar eager for Guardiola link-up|
|Seven-try St Helens thrash Castleford Tigers|
|Donnarumma injured in AC Milan´s final Serie A fixture|
|Relaxed ´outsider´ Federer cruises through, Paris woe for Cecchinato|
|Juventus deny making an approach for Guardiola|
|De Ligt keeping options open amid Barca and Man United rumours|
|Sampdoria 2 Juventus 0: Allegri suffers late defeat in final game|
|Wiesberger fends off MacIntyre to win Made in Denmark|
|Sokratis: Arsenal boss Emery the best coach of my career|
|Verstappen: I gave it my all to pass Hamilton|
|Cataldo takes stage win on rough day for Roglic|
|Kovac reassured as Hoeness recommends Boateng for Bayern exit|
|I was fighting with the spirit of Lauda - Hamilton wins his ´hardest race´|
|Galatasaray leading race to sign Babel|
|Ireland flanker O´Brien ruled out of Rugby World Cup|
|Fittler hopeful on Frizell as wounded Dragons send duo for scans|
|Hamilton clings on for Monaco glory but Mercedes´ one-two run ends|
|Federer enjoys serene Roland Garros return|
|Suarez hits out at questions over Barcelona commitment|
|Injured Auger-Aliassime withdraws from French Open|
|Sancho ´guaranteed´ to stay at Borussia Dortmund|
|Kerber stunned by teenager Potapova in Roland Garros opener|
|This party is for everyone! Emotional Parejo leads Valencia in Copa celebrations|
|Cleary in for New South Wales, Maloney misses out|
|Emery had to convince Arsenal stars to care about Europa League|
|Frizell suffers Origin scare, Addo-Carr at the double for Storm|
|Leonard´s experience made a difference, admits Antetokounmpo|
|Pochettino fears Kane call could decide Champions League final|
|Giannis: This is just the start for the Bucks|
|Best player in the NBA? Leonard focused on Raptors´ success|
|Manchester United 2 Bayern Munich 1 (1998-99) - Where are they 20 years on?|
|Manchester United 1998-99: The best wins of Ferguson´s treble from Turin to Barcelona|
|Yankees sweep double-header, remain atop AL East|
|Tuchel´s PSG extension - Opta numbers help to explain new deal|
|Herring beats Ito to claim WBO super-featherweight title|
|Three takeaways from Raptors´ historic win over Bucks|
|Raptors defeat Bucks to earn first ever Finals berth|