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.
|Palace keeper Hennessey charged over Instagram post|
|Chelsea warn supporters over anti-Semitic chanting ahead of Tottenham EFL Cup tie|
|Joshua primed to make call on next opponent|
|Super Bowl LIII: Brady v Goff|
|Sala search suspended as Cardiff chairman confirms club wanted different travel arrangements|
|Cruyff, Koeman, Kluivert - De Jong following pantheon of Dutch Barca greats|
|Sarfraz apologises for comments picked up by stump mic|
|Djokovic: Pouille deserves top-10 spot|
|Hazard must be more demanding if he wants to leave Chelsea, says Ballack|
|Celtics´ Kyrie Irving to sit out Cavs game with flu-like symptoms|
|Barcelona seal €86m De Jong deal|
|Vietnam v Japan: Moriyasu happy to keep doing just enough|
|Hendricks, De Kock and Steyn join up with Proteas squad|
|Lorenzo excited for ´new level´ at Repsol Honda|
|Fernando replaces injured Pradeep in Sri Lanka squad|
|China v Iran: Queiroz wants to exorcise 2015 quarter-final|
|Balotelli joins Marseille until the end of the season|
|Emery gives Monchi ringing endorsement amid Arsenal sporting director links|
|Larry Fitzgerald returning to Cardinals on one-year deal|
|Watson absence ´an opportunity´ for Scotland hopefuls, says Townsend|
|Pochettino open to new signings but Janssen to remain a Spurs outcast|
|´No trace´ of aircraft so far in Sala search|
|Pochettino will not judge Sarri for criticising Chelsea players|
|From front row to four in a row - Best takes on Farrell at Connect 4|
|Hazard an individual, not a leader - Sarri urges Chelsea star to do more|
|Broad left out of England team for first Test|
|Higuain set to sign for Chelsea but won´t face Tottenham – Sarri|
|McGillvary injury blow for Giants|
|Solari praises Marcelo amid exit rumours|
|A-League Review: Joy and pain for De Jong as Sydney close gap|
|Halfpenny, Davies and Williams set to miss France clash|
|India to rest Kohli from back end of New Zealand tour|
|The hand is good - Farrell expects to be fit to face Ireland|
|Martinez leaves Arsenal for Reading loan|
|Beckham becomes Salford City shareholder|
|Maradona hopes Sala will be found alive|
|Djokovic will not discuss potential Nadal showdown yet|
|A Federer-Nadal double? Even historic scalps may not be enough for Tsitsipas|
|Raonic to assess knee injury, hopes to avoid surgery|
|Barcelona right to fine ´complicated´ Dembele, says Ter Stegen|
|Higuain and Piatek on the move on busy day for Milan|
|Philippe and Vince humble the Hurricanes|
|Nishikori: I couldn´t beat anybody on one leg|
|Boateng poised for debut as Barcelona axe Suarez|
|Shami sets record in crushing win after sun stops play|
|Sala search focused on possible use of life raft|
|Pouille exceeds own expectations with run to Aus Open semis|
|Nishikori retirement sees Djokovic through to semi-finals|
|A golden boy, a guy you want to love - Delecroix pays emotional tribute to Sala|
|Richardson, Patterson to make Australia debuts against Sri Lanka|
|Police resume search for missing Sala plane|
|Pouille upsets Raonic to reach Australian Open semis|
|Dunk sees Stars past Strikers|
|How Serena gave up 5-1 lead – the key moments of loss to Pliskova|
|Pliskova enjoys ´best comeback´ after stunning Serena|
|Serena not blaming ankle injury for Australian Open loss|
|Mavericks capitalise on Clippers´ turnovers, pick up win in Smith´s return|
|Pliskova saves four match points to stun Serena with comeback win|
|Anthony ´can only make´ a team better, says Iverson|
|Henry more worried about Monaco´s future than his own|
|Osaka powers past Svitolina in Melbourne|
|Harden on Anthony trade: It kind of sucks that it didn´t work out|
|Redskins remain ´optimistic´ QB Alex Smith will play again|
|Patriots coach Belichick says Rams´ Donald is ´pretty much unblockable´|
|PSG fined €100,000 by LFP over player-recruitment practices|
|I´m not his father - Guardiola demands Mendy matures|
|Sykes record in vain as Banvit claim victory|
|Usain Bolt calls time on football career|
|Otamendi not happy at Man City, says Guardiola|
|Workaholic Woods learning to rest as he prepares for 2019 debut|