Opener Tamim Iqbal (58) scored his fifth consecutive one-day half-century, while top order batsmen Anamul Haq (41) and Naeem Islam (50 not out) also contributed as Bangladesh lost three wickets before comfortably overwhelming the target to go 1-0 up in the series.
Tamim set the tone for a successful chase with an 88-run opening stand with Anamul, one of the four debutants Bangladesh fielded in the game.
Tamim’s 58 came off 51 balls with eight fours and two sixes before Sunil Narine had him caught by Kieran Pollard at backward point.
Anamul survived some anxious moments before growing in confidence but fell short of his maiden half-century.
Naeem Islam added 45 runs with birthday boy Nasir Hossain (28) for third wicket to slam the door on West Indies.
Earlier, the visitors got off to a positive start with the openers raising 48 runs but once Mashrafe Mortaza trapped Lendl Simmons (13) lbw, West Indies batting order simply came unstuck.
Gazi delighted the packed holiday crowd at the Sheikh Abu Naser Stadium by removing the dangerous Chris Gayle (35) with his second ball with Tamim leaping high on long on boundary to take a spectacular catch.
Gazi, who took nine wickets in his Test debut earlier this month, struck another crucial blow when he removed Marlon Samuels for a duck in his next over before left-arm spinner Razzak joined the party.
To make it worse for the visitors, Darren Bravo (35) got run-out as Bangladesh took control of the match.
Down the order, Sunil Narine (36) and Ravi Rampaul (25) added 57 runs for the ninth wicket to give the West Indies innings some respectability but it was not enough in the end.
Gazi added two more wickets to his collection for an impressive figure which earned him the player-of-the-match award.
Both the teams return tomorrow for the second one-dayer at the same venue.
Scorecard
West Indies innings
L. Simmons lbw b Mortaza 13
C. Gayle c Tamim b Gazi 35
D. Bravo run-out 35
M. Samuels c Mahmudullah b Gazi 0
K. Pollard c Mortaza b Razzak 15
D. Thomas c Razzak b Gazi 16
D. Sammy c Naeem b Mahmudullah 10
A. Russell b Razzak 0
S. Narine lbw b Gazi 36
R. Rampaul c Rahim b Razzak 25
K. Roach not out 3
Extras: (lb-1, w-10) 11
Total: (all out; 46.5 overs) 199
Fall of wickets: 1-48, 2-48, 3-50, 4-100, 5-102, 6-128, 7-130, 8-133, 9-190.
Bowling: Mashrafe Mortaza 9-2-39-1, Abul Hasan 8-0-45-0-(w-1), Sohag Gazi 9.5-2 29-4 (w-2), Abdur Razzak 10-1-39-3 (w-1), Naeem Islam 1-0-17-0, Mahmudullah 9-0-29-1 (w-2).
BANGLADESH innings
Tamim Iqbal c Pollard b Narine 58
Anamul Haque c & b Sammy 41
Naeem Islam not out 50
Nasir Hossain c Pollard b Russell 28
Mushfiqur Rahim 16
Extras: (lb-2, w-5, nb-1) 8
Total: (three wickets, 40.2 overs) 201
Fall of wickets: 1-88, 2-112, 3-157.
Bowling: M. Samuels 3-0-14-0 (w-2), R. Rampaul 7.2-0-41-0, K. Roach 7-0-48-0(w-1), S. Narine 8-1-39-1 (nb-1), D. Sammy 8-0-29-1, Andre Russell 7-0-28-1( w-2)
Bangladesh won by seven wickets and lead the series 1-0
Man-of-the-match: Sohag Gazi