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.
|Juventus ´more of a family´ than Real Madrid - Ronaldo|
|Kingsley Coman contemplates retirement if injury nightmare continues|
|McVay ´sick´ over offensive failings as Rams coach takes blame for loss|
|Calleja axed as Villarreal coach|
|Kenyan Drake on Miami Miracle: I couldn´t let Gronk tackle me!|
|Ronaldo: I deserved Ballon d´Or, the numbers don´t lie|
|Rugby Australia to make Cheika decision this month|
|England defender Gomez signs new Liverpool deal|
|Ronaldo wants to see Messi follow him to Italy|
|Neymar happy to play in any position for PSG - Draxler|
|Paine insists he is ´fine´ after taking blow to finger|
|Ponzio: River players will be ´idolised´ for Libertadores success|
|Champions League permutations: How Inter, PSG and Liverpool can progress|
|Kohli: India were better and deserved to win|
|Bears shut down Goff, Rams|
|India survive dramatic finish against Australia|
|Klopp calls for electric Anfield atmosphere against Napoli|
|Saints clinch back-to-back NFC South titles, Bears trump Rams|
|Bucks improve to 2-0 against Raptors with win in Toronto|
|Black Caps include Patel for Sri Lanka Tests|
|Maidana: River want Real Madrid clash|
|Cowboys top Eagles in OT behind stellar Cooper display|
|AC Milan evaluating Fabregas signing – Leonardo|
|WATCH: Steelers´ chance at game-tying field goal slips away|
|Hayne will plead not guilty to charges, says lawyer|
|Boca boss Schelotto: The only thing I feel is sadness|
|Cardinals´ Fitzgerald makes NFL history with most receptions for one team|
|River Plate´s Copa Libertadores star Gonzalo Martinez confirms January departure|
|Klopp: I was never worried about Salah´s form|
|Packers QB Rodgers sets NFL record for most passes without an interception|
|World Cup bulking hampered Man United form – Lukaku|
|Leonardo rules out Ibrahimovic Milan return|
|Warriors´ Green to return against Timberwolves|
|I feel for him… we´ll make it work – Butler responds to Embiid´s frustration|
|Torino draw no missed opportunity for misfiring AC Milan, claims Gattuso|
|We´ll always be linked together forever - Wade reflects on playing with James before final match-up|
|O´Sullivan wins record seventh UK title|
|Chiefs secure playoff berth, Saints win NFC South|
|River Plate 3 Boca Juniors 1 (aet, 5-3 agg): Quintero and Martinez clinch Libertadores title in extr|
|WATCH: Chiefs QB Mahomes throws no-look pass|
|Dolphins defeat Patriots on miraculous final play|
|Kizzire eagle snatches QBE Shootout victory|
|AC Milan 0 Torino 0: Donnarumma shines, Cutrone misses late chance|
|Back to the drawing board for West Indies - Chase|
|Copa Libertadores: Messi and Griezmann among stars in Madrid for River-Boca Superclasico|
|Brady sets NFL record for most career TD passes|
|Copa Libertadores: Tevez named on Boca bench for Superclasico final|
|Premier League needs VAR, right now! - Benitez fumes over Dean´s decisions|
|McCall expects Itoje to fit for the Six Nations|
|Solari salutes Real Madrid character after ´ugly´ Huesca win|
|Berbatov defends under-fire Lukaku|
|Sarries crush Blues to maintain unbeaten start|
|Newcastle United 1 Wolves 2: Doherty punishes Yedlin red with late winner|
|Deeney jokes he´ll ´smash´ former Watford star Richarlison|
|Huesca 0 Real Madrid 1: Bale ends drought as Solari´s men edge to victory|
|Ponting: Umpires not looking at no-balls|
|Bale ends longest LaLiga goal drought|
|Porter backs Brees for MVP, Saints for Super Bowl|
|Verstappen eyeing 2019 title fight|
|Wall ´shouldn´t have played´ against Cavaliers after scoring just one point|
|Hazard: Man City the best team in the Premier League despite Chelsea win|
|LeBron explains why he gave a Grizzlies employee his game-worn shoes|
|Bangladesh cruise to ODI victory as seamers punish Windies|
|Football will win over violence, claims CONMEBOL president|
|Alcorcon support Reus Deportiu over unpaid players|
|Saponara explains cheeky celebration after last-gasp leveller|
|Godin and Filipe Luis return to Atletico training|
|Kick It Out condemns alleged racist abuse of Sterling|
|Emotional Oosthuizen clinches South African Open title|
|The Sunday Seven - 7 Key Opta facts for NFL Week 14|