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.
|Struggling Northampton sack Mallinder|
|Matthaus raves about Spurs star Kane|
|Cook: England must improve damaged reputation|
|´Several clubs´ discussing Arda move as Barca exit nears|
|No ultimatum as Arsenal´s Ozil and Sanchez talks rumble on|
|Su-Mourinho? Wenger offers advice to City and United|
|Bayern planning ´serious talks´ with Robben, Ribery|
|Titans lure Roosters veteran Gordon|
|Hazlewood welcomes Johnson advice and eyes Root scalp|
|Pereira replaces Villas-Boas at Shanghai SIPG|
|Van Gaal rejected Leverkusen to hold out for a ´big club´|
|Cook dismisses retirement talk heading into 150th Test|
|Williamson lauds record-equalling Taylor as Kiwis celebrate series win|
|Dolphins stun Brady and Patriots|
|Inzaghi and Lazio left feeling ´defrauded´ after Torino defeat|
|Marsh confident and ready to heap misery on England|
|New Zealand sweep Windies with 240-run victory|
|Man United more boring under Mourinho, claims Van Gaal|
|Rodgers return a medical decision for Packers|
|Stanton rips ´unprofessional´ and ´circus times´ with Marlins|
|Zidane: Real Madrid want to win Club World Cup|
|Worker to open batting as Guptill misses ODI series|
|Stanton excited to step into ´winning environment´ with Yankees|
|Morata ruled out of Huddersfield trip due to ´impossible´ workload|
|Valverde singles out Hazard & Morata as chief Chelsea threats|
|Irving to miss Bulls game with quad injury|
|Lazio 1 Torino 3: Inzaghi´s men lose ground as Immobile sees red|
|Reading 2 Cardiff City 2: Late comeback makes light of Warnock dismissal|
|Jets QB McCown´s season over with broken hand|
|Wagner received no contact over Borussia Dortmund job|
|From the ridiculous to the sublime - Clermont overcome ´absurd´ episode to thump Saracens|
|A Mourinho myth? Man United booked for simulation more than any Premier League side|
|Eagles QB Wentz out for season with torn ACL|
|Brook to face Rabchenko in light-middleweight bow|
|Yankees confirm Stanton deal|
|Clermont irked by ´absurd´ Saracens saga|
|Bairstow wants England to regain trust|
|Ronaldo´s ego is his biggest motivator - Valdano|
|Bayern threaten legal action over Leno transfer rumours|
|Thompson welcomes golf´s change in policy over viewer call-ins|
|Potter delighted by underdog Ostersunds´ trip to Arsenal|
|Chelsea can bounce back from West Ham loss, says Conte|
|Real Madrid will relish PSG test, says Xabi Alonso|
|Conte urges Chelsea to be ´positive´ over Barca Champions League draw|
|Heynckes wary of Besiktas threat|
|Ostersunds handed fairytale Arsenal tie, Napoli face Leipzig|
|Taylor pays moving tribute to Crowe after equalling century record|
|Emery: PSG ´can compete with Real Madrid´|
|Totti urges Roma focus on Serie A despite encouraging Champions League draw|
|Europa League: Last 32 draw in full|
|Messi faces toughest foe in Champions League|
|Tigers confirm broken jaw for Veainu as Tuilagi nears return|
|AC Milan signed too many players, admits Fassone|
|Real Madrid face PSG, Chelsea drawn with Barcelona|
|FA seeking information over Manchester derby incident|
|India agree to be Afghanistan´s first Test opponents|
|He is one of the best strikers in the Premier League - Wilshere hails Giroud|
|Jamshed banned for failing to co-operate with PCB anti-corruption unit|
|Mata: No time to mourn derby defeat|
|Hitzfeld tells Nagelsmann to honour Hoffenheim contract|
|Amor: Mascherano future to become clear soon|
|Good things come to those who wait - Shubhankar wins Joburg Open in Monday finish|
|Huddersfield confident of Chelsea scalp - Ince|
|Sea Eagles facing sanctions over salary cap breach|
|Paine denies Aussies have crossed line with Ashes sledging|
|Road to Super Bowl hits speed bump as Eagles sweat on Wentz fitness|
|Taylor hits record ton as Windies chase mammoth total|
|Oladipo´s career performance keeps Pacers rolling|
|De Bruyne: Man City have to enjoy derby victory|
|Suspended Smith-Schuster watches on in Steelers helmet|