Passing the Pink Test with flying colours, Virat Kohli conjured up an elegant century before Indian bowlers tormented Bangladesh yet again as the first day/night Test headed for an early finish.
Kohli became the first Indian batsman to score a century in a day/night Test, scoring 136 off 194 balls. India declared their innings for 347 for nine to take a healthy lead of 241 runs.
Bangladesh, who were shot out for 106 in first essay, were reeling at seven for two at tea with Ishant Sharma scalping both the Bangladeshi batsmen on the second day of the match.
With a good 39 overs still left in the day, India remained on course for a 12th successive series win at home.
Such was the terror of Indian pacers that Mohammed Mithun became the third Bangladeshi player to be hit on his head when he failed to duck an Ishant bouncer.
Already two of their batsmen (Liton Das and Nayeem Hasan) were hit by Mohammed Shami bouncers in the first innings and were replaced according to the concussion protocol.
India started off the second innings with an intimidating slip cordon in four slips and a gully. Ishant Sharma gave the breakthrough in the fifth ball, trapping Shadman Islam before Bangladesh could open their account.
The gangly paceman returned and sent by rival skipper Mominul Haque, who edged one behind without bothering the scorer.
Earlier, resuming at 59, skipper Kohli looked at his sublime best as he brought up his 27th Test century.
While Kohli pushed Taijul Islam for a double in the square leg region to bring up his hundred, his deputy Ajinkya Rahane (51) too looked in good touch, striking his fourth successive half-century.
Rahane was done in by some extra bounce as he top-edged a Taijul delivery to be holed out at point.
But Kohli, who had become the first Indian skipper to go past the 5000-run mark in the longest format, grew from strength to strength en route to his 70th International hundred.
Kohli hit top gear after his hundred, smashing Bangladeshi pacer Abu Jayed for four successive boundaries. His knock, which had 18 boundaries, ended when Taijul threw himself to his right to pluck a catch out of thin air.
With this century, Kohli equalled Ricky Ponting's record of most hundreds -- 41 -- as captain in International cricket (Tests/ODI/T20I). The India skipper took exactly half the innings (188) than the Aussie great for the world record.
Kohli had come to the crease under lights with India in a tricky 43/2 inside 13 overs on a day Indian openers had a rare failure.
Kohli's last ton here had come against Sri Lanka on November 2017.
Bangladesh's ground fielding looked appalling while their bowlers absolutely did not show any fight in a damp squib to the pre-match hype for the first pink ball Test in India.