Kolkata, India: India captain Virat Kohli embellished the pink-ball Test with a sparkling century and his quick bowlers reduced Bangladesh to 152-6 as the hosts closed in on a 2-0 series sweep on day two of the second and final Test on Saturday.
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.
Mushfiqur will resume on 59 on Sunday, hoping to continue the fight though India look set to seal their 12th consecutive home series victory.
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.