Published: 2019-11-23 21:56:37 BdST
After India declared their first innings on 347-9 in their maiden day-night Test, Bangladesh risked losing the match inside two days following a spectacular top-order collapse.
Mushfiqur Rahim and Mahmudullah, who made 39 before a hamstring injury forced him to retire hurt, batted resolutely to force a third day at Kolkata's Eden Gardens.
Earlier, Kohli smashed a magnificent 136 and added 99 runs with Ajinkya Rahane who fell for a fluent 51.
The India captain cover-drove Ebadot Hossain to reach 99 and, with the crowd chanting his name, took two off spinner Taijul Islam to bring up his 27th Test century, and 20th as captain.
He removed his helmet to soak up the applause but the proper celebration happened a little later when he hit Abu Jayed for four consecutive boundaries.
Ebadot dismissed Kohli when Taijul moved from deep square leg and hurled himself into the air to take a stunning catch.
Kohli hit 18 fours in his 194-ball vigil, outlasting the entire Bangladesh team who had folded in 30.3 overs in their first innings.
Armed with the heavily-lacquered ball, Ishant, who had taken 5-22 in the first innings, wrecked the Bangladesh top order to return figures of 4-39.
Mominul Haque made a nightmarish debut as Bangladesh's Test captain, being dismissed for a duck in both innings.
Mushfiqur and Mahmudullah, however, refused to throw in the towel, displaying the stomach for a fight that was lacking among their team mates.