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.
|Marsh century leaves family with full hearts and fuller bladders|
|Icardi to Real Madrid? Nara will not say yes or no|
|The Ashes Round-up: Smith and Marsh torment England|
|Smith and Marsh gorge themselves as England put to the sword|
|Ronaldo proud to compete with Messi|
|Wenger struggling to solve Arsenal goal drought|
|Smith brings up double hundred as England toil|
|Marsh posts maiden Test century as Australia take lead|
|Pique wants to face Guardiola, City in Champions League final|
|Westbrook´s triple-double powers Thunder past 76ers|
|Smith shines as Australia pass 300 in Perth|
|Tevez nearing Boca Juniors return|
|Rangers acquire Moore from Giants|
|Ronaldo? I was better, says Gremio coach Renato|
|Pique: I understood why Neymar left Barca for PSG|
|Celtics´ Hayward open to returning this season|
|Klopp: We´re all fighting for second place|
|Every player has a price – Mourinho hints at January exits|
|Good question! Guardiola ducks Sanchez link and lauds Walker|
|Six-try Ulster see off Harlequins|
|Guardiola addresses Mourinho´s tactical foul claims|
|Call the doctor! Conte protests no malice in David Luiz absence|
|Joy for Newcastle on a historic night for referee Neville|
|Sheffield Wednesday 0 Wolves 1: Brilliant Neves fires leaders seven clear|
|Premier League title City´s to lose, but Sterling wary of United charge|
|Barcelona´s Deulofeu a Clasico doubt after training injury|
|Bills QB Taylor to start v Dolphins|
|O´Mahony and Furlong sign new IRFU contracts|
|Salah ´is a player I rate a lot´, says Zidane|
|Allardyce lauds ´invaluable´ Rooney|
|Ramos fit for Club World Cup final|
|Lille sack Bielsa to end failed experiment|
|Manchester United job like Real Madrid, says Mourinho|
|Fernandinho is much better than I was, Guardiola claims|
|That Harry Kane team? – I´m over Guardiola dig, says Pochettino|
|Tuilagi and Toomua return to Leicester line-up|
|Mourinho open to January moves as Griezmann rumours swirl|
|Berizzo set for Sevilla return after cancer surgery|
|Malinga left out of Sri Lanka´s T20 squad|
|Manchester City will not go unbeaten in Premier League - Guardiola|
|Man City are the best – Pochettino braced for Spurs´ toughest test|
|Kristaps Porzingis injury update: Knicks big man says knee ´shouldn´t´ be bad|
|Conte hopeful over David Luiz´s ´serious´ knee injury|
|Neymar not an injury risk after Brazil trip - Emery|
|Bailly to miss three months due to ankle surgery|
|Klopp defends Liverpool rotation policy|
|Arsenal fan Prince Harry´s wedding day to clash with FA Cup final|
|He´s one of the best – Simeone showers Oblak with praise|
|Juventus won´t sell in-demand Pjaca, agent claims|
|Bolasie in line for Everton return after long-term injury|
|Bedene to switch back from Britain to Slovenia|
|Maradona told Real Madrid to sign Mbappe|
|Samuels out of NZ tour, Narine to miss T20s|
|Sydney FC 3 Melbourne City 1: Champions come from behind to go eight points clear|
|Red-hot Salah wins Player of the Month|
|Heynckes unaware of reported Sanches loan termination|
|Maradona: I´d have won more Ballons d´Or than Ronaldo and Messi|
|Khawaja pleased to restore parity in Perth|
|Bairstow enjoys playful celebration of crucial century|
|The Ashes Round-up: Smith leading by example again|
|Wenger confirms Wilshere contract talks imminent|
|Sensational Smith leads Australia fightback|
|We´ve never been approached by Man United – Wenger rejects Ozil reports|
|Joshua ´absolutely´ capable of unification, says Klitschko|
|Mathews fit for India-Sri Lanka series decider|
|Lewandowski demands focus ahead of Christmas|
|Fury not rushing back to take on Joshua|
|Klopp right to rotate at Liverpool – Neville|
|Overton strikes twice for England in Perth|
|LeBron´s 59th triple-double leads Cavaliers past Lakers|