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.
|Casillas reaches 100 Champions League wins|
|Expansion franchise Cincinnati sign Garza, send Kamara to Rapids|
|Manchester City sign United States goalkeeper Steffen for reported £7m|
|Schalke 1 Lokomotiv Moscow 0: Russians miss chance for Europa League reprieve|
|Galatasaray 2 Porto 3: Terim´s men into Europa League after penalty drama|
|Jackman leaves Dragons role|
|Tottenham boosted as Barcelona bench Messi|
|Mane and Henderson in Liverpool XI to face Napoli|
|Mourinho shoots down question over how to get the best from Pogba|
|Ronaldo to start as Allegri aims to avoid Champions League big guns|
|Odriozola: I´m in love with Benzema, he´s the best number nine in the world|
|Vikings fire OC DeFilippo after loss to Seahawks|
|Marcelino suggests Valencia open to Batshuayi departure|
|Bottas to make rally debut in title-winning M-Sport Ford Fiesta|
|Kovac dismisses Pavard speculation|
|Yaya Toure leaves Olympiacos after just five appearances|
|Riise challenges Liverpool to banish Champions League disappointment against Napoli|
|We rallied around it - Durant on Green confrontation aftermath|
|Valencia ´p****d off´ with Fellaini´s controversial Young Boys winner - Soler|
|More must be done to combat racism at Premier League grounds – Chalobah|
|Napoli will not sack ´big signing´ Ancelotti if they miss Champions League qualification, says De La|
|Guardiola not interested in ´exceptional´ Saul|
|Shai gives Windies hope with thrilling ODI run chase|
|Ten Hag unsure whether to risk Ajax stars against Bayern|
|Erasmus to work with Bulls as Springboks assist Super Rugby sides|
|Paul Gascoigne pleads not guilty to sexual assault|
|Joshua is ´begging´ for unification fight, claims Wilder|
|Silva, Fernandinho add to Guardiola´s injury woes|
|Hosszu storms to 14th gold, Seto smashes Le Clos´ world record|
|Raheem is an incredible human being - Guardiola rallies behind City star Sterling|
|Sexton pens IRFU extension until 2021|
|Ajax boss Ten Hag can do big things, says Bayern chief Rummenigge|
|He´s good at basketball – Kerr running out of superlatives for Curry|
|Green thrilled to make Warriors return in victory over Timberwolves|
|Madrid squad great and humble - Solari responds to Ronaldo|
|Langer unsure what to expect from Perth wicket|
|Fournette subjected to alleged racial abuse in Titans loss - Marrone|
|Better and better - Mbappe hails Neymar link|
|It´s the end of one of the best movies you could ever see - James pays tribute to retiring Wade|
|NASA invites Curry to see moon rocks|
|No plan B for LaLiga Miami game after Barcelona withdrawal|
|Messi´s English haul, Neymar eyes hat-trick record - Champions League in Opta numbers|
|LeBron trumps Wade in last dance, Curry scores 38 points|
|Seahawks secure dominant win over Vikings|
|Iniesta visits Messi and former club Barcelona|
|Drake makes plea for ball thrown into stands after Miami miracle|
|´Toughest pretty boy I´ve ever met´ - Langer dismisses Paine concerns|
|Van Dijk says Liverpool can challenge for double ahead of Napoli decider|
|Hazard: I´ve always loved Real Madrid|
|Yankees interested in Machado, not Harper - Cashman|
|Warriors´ Curry believes moon landing was faked|
|76ers star Butler suffers strained groin|
|Brady: Patriots still have a lot of football to play|
|´No one died´ - Belichick´s message to Patriots after stunning loss|
|Silva lauds Digne after stunning free-kick|
|Aduriz joins Messi, Ramos in LaLiga history books|
|We have a plan - Ravens coach Harbaugh prepared for Flacco return|
|´It´s difficult to accept´ - Gracia calls for introduction of VAR|
|LaLiga press on with overseas match plan despite Barcelona withdrawal|
|PSG open Coupe de France defence at fifth-tier Pontivy|
|Hazard backs Sterling as Neville reveals England star´s Euro 2016 concerns|
|Everton 2 Watford 2: Digne salvages draw with 96th-minute free-kick|
|Barcelona could ´steal´ Kane, says Pochettino|
|Oakland Raiders fire general manager McKenzie|
|Struggling Villarreal appoint Garcia Plaza as Calleja successor|
|Warriors assign Cousins to G League team|
|Barcelona pull out of plan to play LaLiga game in Miami|
|Pochettino to keep an eye on Inter when Spurs face Barcelona|
|Pochettino confirms Walker-Peters set to start against Barcelona|
|Denver Nuggets add free agent Young|