India's Kolkata frustrations continued on day three of the first Test as Sri Lanka laid the foundations for a first-innings lead thanks to Lahiru Thirimanne and Angelo Mathews.
Despite the opening two days of the first Test being delayed by rain, India still lost quick wickets when play was possible and started Saturday 74-5, with Cheteshwar Pujara closing in on a half century.
He was unable to get to 50, though, as Sri Lanka's bowlers – led by Suranga Lakmal (4-26) – continued to cause problems, but a late wag from the India tail lifted the hosts to 172 all out.
While respectable given their earlier problems, India's total quickly looked in trouble as Thirimanne (51) and Mathews (52) flourished – Sri Lanka reaching the close seven runs adrift on 165-4.
A draw still looks the most likely outcome with just two days remaining, but a lot will depend on how many runs Niroshan Dickwella (14 not out) and Dinesh Chandimal (13no) can add before India bat again.
For the first time in the Test play got underway on time, but those hoping to see Pujara raise his bat were quickly disappointed as he was clean bowled by an inswinging delivery from Lahiru Gamage.
Ravindra Jadeja (22) and Wriddhiman Saha (29) then enjoyed the biggest partnership of India's innings as they batted resolutely to put on 48. However, both men fell in one Dilruwan Perera over to leave them 128-8 and facing a poor first-innings total.
Bowlers Bhuvneshwar Kumar, Mohammad Shami and Umesh Yadav showed their batsmen how it should be done with some extravagant shots, the trio pushing India to a more respectable tally.
The dismissals of Dimuth Karunaratne and Sadeera Samarawickrama, both to Bhuvneshwar, gave India early hope as Sri Lanka slipped to 34-2 in the seventh over.
That brought Thirimanne and Mathews together and they used all their experience to give Sri Lanka added confidence of securing a result.
India should have been celebrating the departure of Thirimanne for 27 in the 18th over, though, when Yadav found his outside edge with a delivery that held its line.
However, the thick edge was shelled by Shikhar Dhawan at first slip, and Thirimanne made them pay with his first 50 since August 2015.
Mathews reached the same milestone three overs later, but Thirimanne had already returned to the dressing room having been caught sensationally by Virat Kohli at second slip – the India captain flying to his left to see off the left-hander.
Yadav claimed another wicket as Mathews gave a simple catch to KL Rahul as short cover, and India looked like having a profitable final session.
Chandimal and Dickwella survived that fine spell of bowling before bad light brought an early finish to proceedings.
|Manchester United v Juventus: Ronaldo out to end dismal scoring record against Mourinho|
|Injured Ribery to miss Bayern´s clash with AEK|
|Wilshere would have stayed at Arsenal under Wenger|
|Mahomes stars again as Chiefs crush Bengals|
|Bolt must accept ´much less´ to join Mariners, says A-League chief|
|Klopp compares Liverpool to dog without favourite toy|
|Young leads Hawks to first win, Thunder fall in Westbrook´s return|
|Spalletti hits out at physical Milan – I had three players asking to be replaced|
|Cowboys, Ravens lose after missed kicks in final seconds|
|Hernangomez secures Nuggets´ win over Warriors with last-second block|
|Hasler returns to Manly on three-year deal|
|Sarri: Chelsea fans must respect Mourinho|
|Ronaldo learnt from Scholes – Pjanic praises Juventus star|
|CA dismisses spot-fixing claims|
|WATCH: Will Ferrell leads chants with LAFC fans|
|MLS Review: Galaxy on track for play-offs as Timbers, DC clinch spots|
|Elliott secures win at Hollywood Casino 400|
|Thunder´s Westbrook makes season debut against Kings|
|Saints beat Ravens after Tucker misses extra point|
|Rondo, Paul and Ingram banned after Lakers-Rockets fight|
|Saints QB Brees reaches another historic milestone|
|Biglia: VAR should have checked Nainggolan tackle|
|Gattuso not blaming Donnarumma for derby defeat|
|Seventh in Mexico will secure Hamilton´s fifth world title|
|Rooney fires DC United into MLS play-offs|
|Alonso slams ´amateur´ F1 rivals after latest crash|
|Spalletti fears lengthy Nainggolan absence|
|To the Max! Verstappen destroyed shoe fending off Hamilton|
|Icardi delight after Donnarumma error gives him another derby winner for Inter|
|Guardiola: Versatility the key for Stones|
|Vettel frustrated as mistakes continue to hamper title challenge|
|ECB refutes spot-fixing claims against England players|
|I thought we would do better - Hamilton queries Mercedes strategy|
|Inter 1 AC Milan 0: Icardi settles derby with dramatic late winner|
|Hamilton denied title party as Raikkonen wins in Austin|
|Patriots RB Michel out against Bears with gruesome knee injury|
|Kohli hails Rohit partnership after comprehensive India victory|
|Silva downplays his role after Everton super subs seal victory|
|Injured Bairstow out of final white-ball matches in Sri Lanka|
|Pliskova feeling confident after impressive start in Singapore|
|Big-hitting Imrul rescues Bangladesh in opening ODI|
|Leinster suffer late defeat at Toulouse, Newcastle snatch dramatic victory|
|Chargers pip Titans to dramatic London win|
|Everton 2 Crystal Palace 0: Substitutes Calvert-Lewin and Tosun clip Eagles´ wings|
|Thunderstorms push Andalucia Valderrama Masters into reserve day|
|Edmund masters Monfils to claim maiden singles title|
|Kohli and Rohit fire India to comprehensive ODI win|
|Manchester United didn´t play - David Luiz blasts Mourinho tactics|
|Svitolina out to silence ´haters´ in Singapore|
|Emre Can facing surgery on thyroid problem|
|Tsitsipas claims maiden ATP crown in Stockholm|
|Mariners boss Mulvey knows nothing of Bolt contract offer|
|WATCH: Vinicius Junior scores free-kick - then sees red!|
|Gronkowski ruled out of Bears clash|
|Khachanov enjoys home comforts with comprehensive Kremlin Cup win|
|Isner wants Wimbledon tie-break rule named after him|
|Hummels lauds ´outstanding´ Lewandowski|
|Liverpool´s defensive improvement no accident – Gomez|
|Pliskova overpowers defending champion Wozniacki in Singapore|
|Marquez dislocates shoulder celebrating MotoGP title|
|Henry taking positives from opening Monaco defeat|
|A-League Review: Mariners held as Bolt considers move|
|Dominant Svitolina ends Kvitova hoodoo in Singapore|
|Pereira warns Juventus to expect ´pumped up´ Manchester United|
|D´Antoni backs NBA to ´sort out´ Lakers-Rockets brawl|
|Mixed feelings for champion Marquez after Dovizioso crash|
|Bolt offered contract by Central Coast Mariners|
|Anthony accuses Rondo of spitting after Lakers-Rockets brawl|
|Martial insists he has good relationship with Mourinho|
|Bautista to replace Lorenzo at Phillip Island|