Off-spinner Harbhajan Singh returned to the Indian Test fold after two years and will partner Ravichandran Ashwin in a two-man spin attack.
Bangladesh captain Mushfiqur Rahim, who is recovering from a finger injury, will play as a specialist batsman and debutant Litton Das will take over wicket-keeping duties.
The hosts are playing four spinners, including leg-break bowler Jubair Hossain, on a wicket expected to take turn later in the match.
Bangladesh: Mushfiqur Rahim (capt), Tamim Iqbal, Imrul Kayes, Mominul Haque, Shakib Al Hasan, Soumya Sarkar, Litton Das, Shuvagata Hom, Jubair Hossain, Taijul Islam, Mohammad Shahid
India: Virat Kohli (capt), Murali Vijay, Shikhar Dhawan, Ajinkya Rahane, Rohit Sharma, Wriddhiman Saha, Ravichandran Ashwin, Harbhajan Singh, Umesh Yadav, Varun Aaron, Ishant Sharma
Umpires: Kumar Dharmasena (SRI) and Nigel Llong (ENG)
TV umpire: Sharfuddoula Saikat (BAN)
Match referee: Andy Pycroft (ZIM) – AFP
Original source: India to bat first against Bangladesh