Chasing the improbable target of nearly seven-and-half runs in an over, Bangladesh ended their 50 overs on 283-9 which is still their highest total in a World Cup match in their fourth tournament.
Pace bowler Munaf Patel gave India's depleted pace attack, which suffered another blow ahead of the game with Ashish Nehra missing out following reports of a back injury, a boost by claiming four wickets for 48 runs in the win.
Tamim Iqbal and Shakib Al Hasan made 70 and 55 runs respectively but after they departed Bangladesh were unable to even approach the formidable and ever increasing asking rate.
Man-of-the-match Sehwag, blasting his second World Cup century, made Bangladesh skipper Shakib bitterly regret his decision to bowl first on a placid wicket with 14 fours and five sixes.
He added 203 runs with Virat Kohli for the third wicket with the latter also completing a century in the final over. He finished on 100 not out off 83 balls in his World Cup debut.
Sehwag needed a runner after reaching three figures having hurt his left knee while trying to push Rubel Hossain for a single in the 38th over of India's innings.