Mehidy Hasan and Taijul Islam grabbed four wickets each as Bangladesh bowled out India for 404 in their first innings of the first Test in Chittagong on Thursday.
Off-spinner Mehidy claimed the final wicket of Mohammed Siraj to finish with 4-112 after left-arm spinner Taijul took 4-133.
Tourists India were bowled out in the second session of the second day, having added 126 runs to their overnight 278-6.
Ravichandran Ashwin defied Bangladesh's attack to hit 58, the third half-century in the India innings after Cheteshwar Pujara's 90 and Shreyas Iyer's 86.
Ashwin received invaluable support from Kuldeep Yadav, who made 40 as the duo added 92 runs for the eighth wicket.
Iyer resumed on 82 but missed out on a hundred as Ebadot Hossain bowled him in the eighth over of the morning.
Ebadot could have dismissed Iyer in his previous over had Liton Das not dropped the catch at fine leg.
Iyer, who was dropped on 67 and miraculously survived being bowled by Ebadot on 77 when the bails failed to dislodge on the opening day, hit 10 fours in his 192-ball innings.
Ashwin joined Iyer in the morning after a wicket fell on the final ball of the opening day, and batted with grit to deny Bangladesh further momentum until the second session.
Mehidy dragged him out of the crease for a stumping to end his dogged partnership with Yadav, who was soon trapped leg before by Taijul.
Umesh Yadav, 15 not out, hit two sixes to frustrate Bangladesh before Mehidy dismissed Siraj for four to wrap up the Indian innings.