Left-arm spinner Shakib Al Hasan once again underlined his worth in the Bangladesh side by dismissing Shikhar Dhawan (173) and Rohit Sharma (six) in successive overs.
Leg-spinner Jubair Hossain then sent back India captain Virat Kohli (14) cheaply as India, cruising at 283 for no loss, slumped to 310 for three in the rain-marred test at Fatullah's Khan Shaheb Osman Ali Stadium.
Overnight batsman Murali Vijay (144) was unbeaten after compiling his sixth test century, along with Ajinkya Rahane (55), who needed 64 balls to bring up his seventh test fifty.
After torrential rain had washed out 34 overs on day one and the entire second day's play, India resumed on 239 for no loss and Vijay soon steered left-arm spinner Taijul Islam for a four to bring up his hundred.
His opening partner Dhawan had a golden opportunity to better his personal test best of 187 but the southpaw gave Shakib a soft return catch to depart after a 195-ball knock that included 23 boundaries.
Shakib struck again in his next over, uprooting the off-stump of Rohit, the only player with two 200-plus scores in one-dayers who continues to struggle in Tests.
Kohli was slightly unlucky as his fluffed drive resulted in an inside edge which hit his pad before rolling onto the stumps to knock off the bail.
Vijay and Rahane, however, had little problem negotiating the hosts' limited bowling resources and they added 88 runs in 18 overs for the flourishing fourth wicket stand. – Reuters
Original source: Bangladesh bowlers grab three wickets