Bangladesh lost three wickets for 103 runs in the final session on day four of the Test against India after they were set a fourth innings target of 459 by the hosts.
Earlier in the day, Bangladesh - resuming their first innings on 322/6 - lost the wicket of Mehedi Hasan in the first over after he was bowled by Bhuvneshwar Kumar.
Bangladesh captain Mushfiqur Rahim, on the other hand, continued from where he had left off on Saturday by completing his fifth Test century.
The visitors were finally bowled out for 388, conceding a first innings deficit of 299 to India. The Indians, though, decided against enforcing the follow-on and came out to bat again.
India lost both openers cheaply before Cheteshwar Pujara and captain Virat Kohli put on a 67-run partnership for the third wicket. Pujara would go on to top score for India with an unbeaten 54.
The Kohli-led side declared at tea, leaving Bangladesh a mammoth fourth innings target to chase down.
Bangladesh would lose three wickets before the end of day's play, with Ravichandran Ashwin accounting for two scalps while Ravindra Jadeja picked up one wicket.
India 687/6d [Kohli 204, Vijay 108, Saha 106*, Taijul 3/156] and 159/4d [Pujara 54*, Taskin 2/43, Shakib 2/50] lead Bangladesh 388 [Mushfiqur 127, Shakib 82, Yadav 3/84] and 103/3 [Sarkar 42, Ashwin 2/34] by 355 runs.