Heavy overnight rain water-logged the Ruhul Amin stadium and the groundstaff strugged in overcast conditions to dry the field even after the rain had ceased.
Umpires Asoka de Silva and Enamul Haq called off the match when there was not enough time left to play the mandatory 20-overs-a-side needed to decide a one-day international.
"We feel sorry for the crowd but the ground conditions were just not good enough," said de Silva as some 18,000 disappointed local fans made their way out of the stadium.
India won the opening two matches of the series in Dhaka last week, their first outing since a first-round exit from the World Cup, where they lost to Bangladesh and Sri Lanka in the preliminary stage.
The two teams practiced at the indoor nets ahead of the first of two Test matches starting here on Friday. The second Test will be played in Dhaka from May 25.
Meanwhile, the seven Indian Test players who were not part of the one-day squad joined their teammates here.
Sachin Tendulkar, Sourav Ganguly, Wasim Jaffer, Venkatsai Laxman, Anil Kumble, Vikram Rajvir Singh and Rajesh Pawar arrived on Monday night.
The one-day players who will return home are Gautam Gambhir, Robin Uthappa, Virender Sehwag, Dinesh Mongia, Piyush Chawla and Rudra Pratap Singh.
Rookie Manoj Tewari flew home before the series after suffering a shoulder injury at practice a day before the first one-dayer in Dhaka on May 10.
Bangladesh have made five changes for the Test series, bringing in Rajin Saleh, Tushar Imran, Khaled Mashud, Enamul Haque Junior and Mehrab Hossain.
They will replace Mushfiqur Rahim, Tamim Iqbal, Aftab Ahmed, Abdur Razzak and Farhad Reza from the one-day squad.