KOLKATA: Virat Kohli completed his 50th international century in testing circumstances before Indian pacers dealt a double blow to Sri Lanka to keep the first Test alive at tea on day five here.
Chasing a tricky target of 231, Sri Lanka were eight for two in their second innings at the break with Mohammad Shami and Bhuvneshwar Kumar removing openers Sadeera Samarawickrama and Dimuth Karunaratne.
Kohli declared India's second innings at 352 for eight after reaching his 18th Test hundred and 50th in international cricket.
Resuming the day at 171/1, India lost their first wicket with addition of 21 runs as Lokesh Rahul (79) once again failed to convert his fifty. Wickets kept falling thereafter with Suranga Lakmal (3/93) and Dasun Shanaka (3/76) returning with three wickets each.
But Kohli stood tall amid ruins with an unbeaten 104, his first at Eden as he also equalled Sunil Gavaskar's feat of 11 hundreds -- the highest number of Test hundreds as Indian captain.
Kohli, whose previous best at Eden Gardens was 45, also survived an LBW dismissal on 72 off Lakmal.
After being circumspect against Lakmal, the Indian skipper slowly got into his groove and hammered him for a six with an inside-out shot to get into the 90s.
Looking unperturbed, Kohli once again took on the Lankan pace spearhead with a horizontal six over cover to get to his hundred in style.