After India won the toss and elected to bat in the match reduced to 49 overs per side following morning rain, openers Virender Sehwag (21) and Gambhir put on 43 before the former was caught by Javed Omar at mid-off off paceman Syed Rasel.
Gambhir was involved in three more productive partnerships before he was the fourth wicket to fall, bowled by Rasel for 101 with the score on 210.
Skipper Rahul Dravid was not out 42 at the end of the innings, while Mahendra Singh Dhoni, Yuvraj Singh and Dinesh Mongia all made useful contributions to the India total.
Mohammad Rafique was the pick of the bowlers with three wickets for 59 runs, while spinner fellow spinner Abdur Razzak and Rasel took two each.
Paceman Masharfe Mortaza captured the other wicket.
India 284 for 8 in 49 overs (Gambhir 101*, Dravid 42 n o, Dhoni 36, Yuvraj 24, Sehwag 21; Rafique 3 for 59, Rasel 2 for 49, Razzaq 2 for 59) Vs Bangladesh (yet to bat).