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.
25. Mai 2019
|Nagelsmann can establish Leipzig at the top - Rangnick|
|Europa League win would cap ´dream´ Chelsea season, says Emerson|
|Rebels have cause to celebrate, Waratahs hurt by Jaguares|
|Tuchel extends PSG contract to 2021|
|Marquinhos ´didn´t understand´ Mbappe´s PSG exit hint|
|Van Dijk out to improve on ´nuts´ Barca clash in Champions League final|
|Wood worry for England ahead of World Cup|
|Kompany takes Manchester City academy coach to Anderlecht|
|Terry will manage Chelsea before Lampard does, says Wise|
|Keary blow for Blues ahead of Origin opener in Brisbane|
|French Open 2019: Is clay king Nadal finally vulnerable at Roland Garros?|
|French Open 2019: Unburdened Federer has a free hit on Roland Garros return|
|Yelich first to 20 homers, Diamondbacks score 18 runs|
|Bucks won´t overuse Giannis in pursuit of NBA Finals – Budenholzer|
|MLS Review: LAFC roll on with Impact win, Galaxy end skid|
|Tabarez confident Suarez will be fit for Copa America|
|Ranieri to pay fine if De Rossi wears special armband in Roma farewell|
|Blue Jays team-mates Biggio and Guerrero make MLB history|
|Aulas: Fekir allowed to leave Lyon|
|Lionel Messi wins sixth European Golden Shoe|
|Mets sign Kemp after losing Cespedes to injury|
|Jaguars´ Fournette happy to have fresh start with new season|
|Curry: Warriors will carry on when Durant returns|
|Blixt leads Charles Schwab Challenge|
|Wydad Casablanca 1 ES Tunis 1: 10-man hosts earn draw in Champions League final opener|
|Yelich´s beer chugging skills convinced Brewers of his back health|
|´That´s not facts´ – Durant disputes idea Warriors are better in his absence|
|Tuchel expects PSG stay despite late-season wobble|
|Afghanistan pull off Pakistan upset|
|Caen relegated to Ligue 2 as Dijon book play-off|
24. Mai 2019
|Teenager Yastremska stands between Garcia and Strasbourg success|
|LeBron ´likes´ Instagram photo of Kyrie in Lakers jersey|
|How Weaver and City´s Wembley heroes paved the way for Guardiola glory|
|Mbappe ensures PSG make Ligue 1 history despite defeat|
|Zverev to face Jarry in Geneva Open final|
|Reims 3 Paris Saint-Germain 1: Final day misery for Tuchel´s men|
|Djokovic smashes Roland Garros floor with medicine ball|
|Djokovic has ´extra motivation´ to prosper in Paris|
|Adam ´Pacman´ Jones announces retirement from NFL|
|Schwab hits the front at Made in Denmark|
|Villas-Boas not interested in return to ´chaotic´ Premier League|
|Pope commits to Burnley after injury woes|
|Fenerbahce face UEFA sanctions after FFP breach|
|Zakarin climbs to stage win, Polanc retains pink jersey|
|Valverde keen to keep Barca focus on Copa final, not his future|
|I want to stay at Juventus - Dybala disputes brother´s claims|
|Federer has no expectations heading into French Open|
|Messi still trying to forget Barcelona´s Anfield nightmare|
|England captain Morgan expected to be fit for World Cup opener|
|Nadal open to grand slam rule changes|
|Jonas Lossl to join Everton on a free|
|Neuer to start for Bayern in DFB-Pokal final|
|Benfica want full €120m release clause for Joao Felix|
|Low welcomes Sane to Bayern rumours|
|Kyrgios withdraws from French Open due to illness|
|Kovac´s Bayern future not in question - Rummenigge|
|Morris not surprised by Lampard´s Chelsea links|
|Reds fall to ruthless Chiefs, Kuridrani stars for Brumbies|
|Villas-Boas expecting Bale to make Premier League return|
|Pique: Anfield opened scars of Rome for Barcelona|
|Osaka wants to channel Melbourne mindset in Paris|
|Cronk´s absence felt as NRL premiers Roosters thrashed by in-form Knights|
|Real Madrid fume at Pochettino´s accommodation joke|
|Halep relaxed ahead of French Open title defence|
|Chiellini would ´hate´ to see former Juventus boss Conte at Inter|
|Oh-no Fernando! Sri Lanka opener taken off on a stretcher following injury|
|A manager of Manchester is coming - Allegri mischievously drops Guardiola hint|
|England captain Morgan sent for x-ray on finger injury|
|Ronaldo is a ´deity´ - Chiellini|
|Should I bet the Eiffel Tower? - Dani Alves confident Neymar will stay at PSG|