India furthered their grip on the one-off Test with Bangladesh despite strong batting performances from Shakib Al Hasan and Mushfiqur Rahim.
A double-century from Virat Kohli - a feat he achieved for a Test record fourth successive series - helped India to a mammoth first-innings total of 687-6, their highest score against Bangladesh.
Bangladesh reached the close on day two on 41-1 and their top order soon gave way as they slumped to 109-4.
An 82 from Shakib and captain Mushfiqur's unbeaten 81, as well as Mehedi Hasan's 51 not out steadied the ship for Bangladesh, but they ended the day with just four wickets left on 322-6, their third highest total against India, still trailing by 365.
Bangladesh lost Tamim Iqbal when he was run out in the third over of the day for just 24 as Mominul Haque pushed for two.
Less than eight overs later Mominul was trapped lbw for 12 by Umesh Yadav and when Mahmudullah fell in the same fashion to Ishant Sharma after adding 28, Bangladesh looked in danger of a collapse.
But the visitors found a solidifying partnership in the form of Shakib and Mushfiqur, who combined for a fine fifth-wicket stand of 107.
Shakib had looked in dominant form as he smacked 14 fours in a pacy 103-ball knock, only for him to be undone by a poor shot as he mishit Ravichandran Ashwin to Yadav at mid-on.
Sabbir Rahman (16) followed Shakib back to the stands shortly after, falling lbw to Ravindra Jadeja.
But 19-year-old Mehedi produced a performance belying his tender years to give skipper Mushfiqur another more than capable presence at the crease.
Mehedi's first half-century in his fifth Test appearance came in 102 balls, the teenager bringing up his fifty with a smartly played four behind point.
There was a brief scare for Bangladesh when Mushfiqur was hit on the hand by an Ishant Sharma, but he was able to continue.
That incident came between boundaries from Mushfiqur, the second coming as he top-edged to deep backward square leg to become the fourth Bangladesh batsman to reach 3000 Test runs.