Left-arm spinner Taijul Islam struck twice for hosts Bangladesh as India reached 85-3 at lunch on the opening day of the first Test in Chittagong on Wednesday.
Taijul had Shubman Gill out for 20 before he trapped Virat Kohli leg-before for one. In between, KL Rahul dragged a Khaled Ahmed delivery onto his stumps after making 22.
At the break Cheteshwar Pujara was on 12 alongside an aggressive Rishabh Pant, who hit four fours and a six to be not-out 29.
India made a brisk start, reaching 41 runs in 13 overs after stand-in skipper Rahul won the toss and elected to bat first at the Zahur Ahmed Chowdhury Stadium.
Gill attempted a paddle sweep but could only manage a top edge which flew to Yasir Ali at leg slip.
After Rahul fell to Khaled, Taijul -- who looked the most threatening of the Bangladeshi bowlers -- got the big wicket of danger man Kohli.
Kohli reviewed the decision in vain as India were reduced to 48-3.
Bangladesh captain Shakib Al Hasan passed a fitness test and was captaining the home side, who handed opening batsman Zakir Hasan a Test debut.
India have been hit by injuries with captain Rohit Sharma out for at least the first match and fast bowler Mohammed Shami and all-rounder Ravindra Jadeja playing no part in the series.
The two-match series forms part of the ICC World Test Championship.
India are fourth, having won six of their 12 matches. Bangladesh are in last place with eight defeats from 10 matches.