Sri Lanka clung on to draw the first Test against India after Bhuvneshwar Kumar went close to inspiring a sensational last-day win for the hosts in Kolkata.
After Shikhar Dhawan and KL Rahul led a fourth-day recovery for India, captain Virat Kohli scored his 50th international century - naturally in record fashion - to give the hosts a faint sniff of victory with a session and a bit to bowl Sri Lanka out.
Kohli reached three figures with a six before India declared on 352-8, setting their opponents 231 to win with 40 overs remaining.
With bad light bringing the previous four days to a premature close, it never looked likely, but Bhuvneshwar delivered a brilliant performance, taking 4-8, while Mohammed Shami took two more wickets in a blistering support act to reduce Sri Lanka to 75-7 from just 26.3 overs before the light curtailed any further excitement.
After having the best of the first three days in this contest, such a collapse will not do Sri Lanka's confidence any good as the three-match series next heads for Nagpur.
But India will be brimming after the performances of their bowlers and captain Kohli, whose half-century of international hundreds came in his 348th appearance - level with the record-holder, Hashim Amla.
In worsening conditions for batting, Kohli's knock oozed class, displaying not only his apex technique but also battling qualities.
The skipper got off a pair as he gloved Suranga Lakmal over wicketkeeper Niroshan Dickwella for four, but the Sri Lanka paceman was causing Kohli and Cheteshwar Pujara - who batted on every day of this Test - serious problems, having earlier bowled Rahul for 79.
Lakmal finally had his reward taking Pujara (22) and Ajinkya Rahane (0) in the same over, and Kohli regularly lost partners while scratching his way through his innings.
But Sri Lanka's decision to immediately take the new ball backfired as Kohli accelerated from 58 of 93 balls to a century from just 26 more, spanking Lakmal over extra cover and then heading to the dressing room.
After heavy rain on day one, India had been reduced to 50-5 on the second morning of this Test, but incredibly had a chance of winning the contest when Bhuvneshwar and Shami reduced Sri Lanka to 22-4 inside 12 overs.
Knocks of 20 from Dinesh Chandimal and 27 by Dickwella would ultimately prove vital, just holding the Indian charge up enough.
Dickwella survived a catch behind on review and Dilruwan Perera survived a DRS for lbw before Bhuvneshwar flattened his off-stump, but umpires Nigel Llong and Joel Wilson convened midway through the 26th over with the light meter before Kohli shook hands with the Sri Lanka batsmen, who had escaped an almighty scare.
|Liverpool´s strikeforce reminds Ronaldo of Real Madrid|
|Hysaj staying at Napoli ´regardless of Sarri´s future´|
|Amir fully fit for Lord´s Test|
|A fast start to life - The Golden Knights and the expansion teams who excelled early|
|Molina gets two-year anti-doping ban for positive test after Joshua bout|
|Ramos: We´re a vintage Real Madrid team|
|Klopp key to controlling Liverpool emotions, says Alonso|
|Bjorn names Westwood, Harrington, Donald and McDowell as Europe vice-captains|
|Scarlets players left wounded by ´shocking´ Scotstoun pitch|
|Arsenal fined £20,000 for Leicester penalty protest|
|Storm offer Bellamy ´significant´ deal amid reported Broncos interest|
|Rashford writes moving tribute on anniversary of Manchester Arena attack|
|Heaton backs Kane´s captaincy credentials|
|Salah deserves Ballon d´Or if Liverpool win Champions League – Owen|
|Wasps flanker Willis out for up to a year|
|Real Madrid v Liverpool: Is the Champions League enough to save Zidane?|
|I was left out on reputation - Nainggolan angered by World Cup snub|
|Pellegrini targets Europe with West Ham|
|Lopetegui extends Spain contract|
|Edinburgh-bound Barclay´s Scarlets career over following Achilles surgery|
|Saints swoop for NRL star Naiqama|
|Zidane: Be careful when you criticise Ronaldo|
|It doesn´t get better - Stevens relishing best-of-three shootout for Celtics|
|Favre named new Dortmund boss|
|LeBron and Lue hail evergreen Kyle Korver|
|Kane named England captain for World Cup|
|Wright slams Arsenal over Emery: It´s like a sushi shop!|
|Pellegrini named new West Ham manager|
|Late drama and sustained Ronaldo magic - Real Madrid´s road to the Champions League final|
|Yankees´ home runs fuel win over Rangers|
|LeBron scores 44 points as Cavs level series against Celtics|
|Kaufusi re-signs with Melbourne Storm|
|LeBron James sets record for postseason field goals|
|Monchi: Alisson will only leave Roma if I come out of retirement!|
|No offers from Chelsea or Zenit, says Sarri´s agent|
|No Champions League pressure as PSG´s Tuchel calls for patience|
|Nationals´ Juan Soto hits homer in second career at-bat|
|Buffon to decide future in a week amid PSG speculation|
|Eli Apple embarrassed by 2017 antics, ready to move forward|
|Bills release Richie Incognito from reserve/retired list|
|Gentry and Pelicans want Cousins back in New Orleans|
|MLB extends Blue Jays closer Osuna´s administrative leave|
|Lloris, Jedinak and Kjaer ask FIFA to allow Guerrero to play at World Cup|
|Wolfsburg preserve Bundesliga status after play-off win over Kiel|
|Zidane was my idol and always will be - Wijnaldum|
|Liverpool ready to fly out of the blocks in Kiev - Henderson|
|Montreal Impact 0 LA Galaxy 1: Ibrahimovic sent off for slapping opponent|
|Real Madrid v Liverpool: Salah, Ronaldo lead the line in combined XI|
|Bertens keeps hat-trick hopes alive in Nuremberg|
|Monfils and Mannarino fail to fly the flag in Lyon|
|Morata, Fabregas, Herrera and more in Spain´s World Cup rejects XI|
|Reina to face FIGC hearing|
|Emery set to be appointed by Arsenal - reports|
|LeBron ´appreciative´ of hometown effort to put up statue of him|
|Cazorla leaves Arsenal after injury nightmare|
|Derby´s Rowett seeks permission for Stoke talks|
|Messi physically and mentally ready for the World Cup, Sampaoli proclaims|
|Murray expected to return at Rosmalen Grass Court Championships|
|More to Madrid than just Ronaldo - Robertson|
|Wolff: Red Bull and Ferrari favourites in Monaco|
|Iniesta hailed by Xavi as ´the most talented player in the history of Spain´|
|If you Googled ´European nights´, Liverpool would be top result - Klopp|
|Icardi cut from Argentina World Cup squad|
|Test recall a ´fantastic surprise´ for Buttler|
|Klopp needs Premier League to be a Liverpool great – Johnston|
|Salah is ´definitely´ world´s best - Lovren|
|Rhinos captain Watkins ruled out for eight months|
|No clue - Klopp defiant over Can to Juventus claims|
|Younis tips Babar for Pakistan greatness|
|Germany squad numbers hint at World Cup good news for Neuer|