File photo: Virat Kohli Photograph:( Twitter )
Virat Kohli played with ease and completed his 27th century before falling to a stunning catch by concussion substitute Taijul Islam.
India declared their first innings on 347 for nine on Saturday after skipper Virat Kohli's sparkling 136 on day two of the maiden day-night Test for both the teams.
The hosts, leading the two-match series 1-0, managed a crucial lead of 241 in response to Bangladesh's 106 in India's pink ball debut in Kolkata.
Wriddhiman Saha, on 17, and Mohammed Shami, on 10, were batting in the second session when Kohli called them back to keep India on track for a very early finish in the five-day game.
Kohli played with ease and completed his 27th century before falling to a stunning catch by concussion substitute Taijul Islam.
Taijul, a left-arm spinner, made it count with a wicket of Ajinkya Rahane for 51 and then took a diving catch at fine leg to send back Kohli off paceman Ebadat Hossain.
India lost a few quick wickets, but Saha and Shami got a few boundaries and a six by the last man in pulverised the Bangladesh bowlers.
Pacemen Al-Amin Hossain and Ebadat took three wickets each.
Kohli stood out with his prolific scoring as he put on crucial partnerships including a 99-run stand with overnight partner Rahane.
The star batsman smashed paceman Abu Jayed for four straight boundaries in one over before finishing with 18 fours in his 194-ball stay.
Cheteshwar Pujara also contributed with a useful 55 in a 94-run stand with Kohli after India lost their openers on day one.
Ishant Sharma led India's inspired pace attack and took five wickets to bundle out Bangladesh in the second session on Friday.