Left-arm seamer Mustafizur Rahman regained form with four crucial wickets for 43 runs while captain Mashrafe Bin Mortaza claimed three wickets.
West Indies opener Shai Hope again top-scored for his team with 87 runs.
West Indies opener Shai Hope again top-scored for his team with 87 runs after the Carribeans won the toss and opted to bat first in Dublin.
Hope held the innings together after the Carribeans lost four wickets for 99 before forging a hundred-run stand with skipper Jason Holder, who scored 62 off 76 balls.
But just as the West Indies looked set to accelerate at 199 for 5 in the 42nd over, Mashrafe struck twice in quick succession to dismiss both Hope and Holder.
Mustafizur and Shakib Al Hasan then pegged them back, picking up three wickets between them to make sure the West Indies did not cross 250 in their allotted 50 overs.
The Tigers made a solid start to their chase with openers Tamim Iqbal and Soumya Sarkar once again providing a strong platform with a half-century stand inside nine overs.
When Tamim was bowled by off-spinner Ashley Nurse for 21 runs, Soumya continued his rich vein of form, scoring 54 off 67 balls.
But Nurse made further inroads into Bangladesh’s batting, dismissing Shakib and Soumya in quick succession to leave the Tigers at 107 for 3 in the 22nd over.
A win for Bangladesh will ensure their qualification for the series final against the Caribbeans in Dublin.