Shakib Al Hasan (124 off 99 balls) produced a batting master class as he led Bangladesh to a famous win, chasing down the target of 322 with 8.3 overs to spare.
Liton Das also played a big part in the win as he remained not out on 94 off just 69 balls in a brilliant batting show. He hit 8 fours and 4 sixes in his knock.
Shakib's 124 not out, his ninth ODI century, was studded with 16 fours. In the process, he also reached the personal milestone of scoring 6000 ODI runs in his 202nd innings.
Earlier, Shai Hope hit a patient 121-ball 91 while Shimron Hetmyer produced a quick-fire fifty as West Indies posted a challenging 321 for eight after being sent into bat.
For Bangladesh, pace duo of Mohammad Saifuddin (3/72) and Mustafizur Rahman (3/59) snapped three wickets each, while Shakib Al Hasan (2/54) took two.