Gambhir remained unconquered on a strokeful 102 with 10 hits to fence and one over it while Dhoni made an unbeaten 95-ball 88* studded with five boundaries and one towering six over long-on. The duo not only did the damage control act with elan, after Murali's double strike reduced India to 84/4, but also consolidated Indian innings with some sensible batting on testing overhead conditions
The Indians made a blistering start on a friendly batting track after winning the toss but lost Sachin Tendulkar following a 68-run first wicket stand with Virender Sehwag.
Tendulkar (35 off 52) earlier survived two vocal lbw shouts in Chaminda Vaas' initial spell before raising his bat to a sparse local crowd when he passed 16,000 ODI runs in his 409th ODI appearance. Batting maestro attempting a cut off Malinga's away going delivery played onto the stumps.
Sehwag (33 off 39, 2X4s&1X6) belted Vaas over the long on boundary and 20 rows into the Gabba stands before being dismissed in a bizare way trying to pull a chest height ball from rookie Ishara Amarasinghe that was pitched outside the leg stump for a regulation caught behind.
Sehwag's dismissal prompted a slump to 83/4 with Murali claiming recalled middle order batsman Yuvraj Singh for two and Rohit Sharma without scoring in his opening five deliveries.
Murali then sent Yuvraj and Rohit packing in consecutive balls to leave India struggling before Gambhir and Dhoni anchored India to safety.
Gambhir and Dhoni dug in for what seemed an eternity. They crawled through their overs taking singles and twos. The duo did score at more than four an over, but it was done with minimum fuss, and the odd deployment of boundary-shots.
The duo opened their arms in the last 10 overs garnering well over 100 runs.
Game One of the tri-series between Australia and India was washed out on Sunday with further scattered showers again expected throughout the evening.
India 264/4 in 50 overs (Gambhir 102 n o, Dhoni 88 n o, Tendulkar 35, Sehwag 33; Murali 2 for 51, Amerasinghe 1 for 30) Vs Lanka.