Published: 2019-11-14 19:26:37 BdST
The hosts lost opener Rohit Sharma for six in their reply but finished the day on 86-1 with Cheteshwar Pujara and Mayank Agarwal putting on 72 runs for the flourishing second-wicket partnership.
Pujara was batting on 43 with seven boundaries. Agarwal was lucky to reach 37 after being dropped in the slip by Imrul Kayes when on 32.
Earlier, Mominul Haque won the toss in his first match as Bangladesh's new Test captain but his decision to bat immediately backfired.
India's three-pronged pace attack exploited the early morning conditions and reduced them to 31-3 at the Holkar Cricket Stadium.
After repeatedly beating the tentative bats of both the openers, Umesh Yadav drew first blood in the sixth over, getting Imrul caught in the slip for six.
Ishant Sharma sent back Shadman Islam in the next over before Mohammed Shami trapped Mohammad Mithun lbw for 13 to wreck the top order.
Mominul and Mushfiqur Rahim combined pluck and luck to forge the only 50-plus partnership in the Bangladesh innings.
Mominul was on three when he was spilled in the slip by Ajinkya Rahane, otherwise a safe catcher who had a terrible day, off Ravichandran Ashwin.
Mushfiqur was dropped twice, first by Virat Kohli and then by Rahane, who also dropped Mahmudullah off Ashwin.
Ashwin spared himself any more heartbreak by bowling out Mominul, who made 37, and Mahmudullah.
A much-relieved Rahane, sporting a sheepish smile, ran to congratulate Ashwin after the spinner sent back Mahmudullah.
Shami (3-27) dismissed Mushfiqur, who made 43, and Mehidy Hasan Miraz in the last two balls before the tea break though Taijul Islam denied him a hat-trick after tea.
"I had to think of the conditions and situation and try to keep my line as tight as possible and stick to my plans," Shami told broadcaster Star Sports afterwards.
"I have been bowling from wide of the crease in the last two years and I once again backed myself."