Zimbabwe looked distinctly second best when they were reduced to 47 for six before limping to 181 all out in 48.1 overs chasing Bangladesh's challenging 246-7 under a cloudy sky.
Razzak plunged Zimbabwe's innings into disarray with a superb first spell in which he claimed three wickets and conceded only four runs in as many overs.
He added another wicket in his second spell to finish with four for 14, his third consecutive haul of four or more wickets in one-day internationals. Only five other bowlers have managed the same feat.
Razzak's tally in the series now stands at 13, including a hat-trick in Bangladesh's six-wicket win in the second one-dayer on Friday.
Zimbabwe won Wednesday's first match by nine runs. Prosper Utseya, leading Zimbabwe in place of the injured Elton Chigumbura, staged a lone battle with 67 from 130 balls before he was last man out, caught by Imrul Kayes at square leg off Shafiul Islam, who finished with four for 43.
Utseya had earlier taken four wickets for 38 runs but could not prevent Bangladesh from posting a decent total after the they had been reduced to 71 for four.
Shakib Al Hasan and Mushfiqur Rahim added 116 valuable runs for the fifth wicket to steer Bangladesh out of trouble.
Shakib was out for 73 off 91 balls, his 17th ODI fifty and his second in the series while Rahim chipped in with 63.
The fourth match of the series is scheduled for Chittagong on December 10.
Scoreboard
BANGLADESH
Tamim lbw Mpofu 0
Kayes c Taibu b Utseya 33
Siddique c Utseya b S M’kadza 1
Raqibul lbw Utseya 12
Shakib lbw Utseya 73
Mushfiqur c S M’kadza b Utseya 63
Naeem (not out) 23
Suhrawardi st Taibu b Price 8
Mortaza (not out) 11
Extras (B-1, LB-8, W-13) 22
Total (for 7 wkts, 50 overs) 246
Fall of wickets: 1-0, 2-5, 3-47, 4-71, 5-187, 6-208, 7-228.
Bowling: Mpofu 10-1-55-1, S Masakadza 8-0-34-1, Chibhabha 2-0-11-0, Price 10-1-41-1, Utseya 10-0-38-4, Cremer 6-0-36-0, Taylor 4-0-22-0.
ZIMBABWE
Taylor c Junaid b Razzak 15
Chibhabha lbw Razzak 7
H Masakadza st Rahim b Razzak 3
Taibu b Mortaza 3
Ervine c Rahim b Shafiul 5
Chakabva lbw Razzak 5
Utseya c Kayes b Shafiul 67
Cremer st Rahim b Shakib 24
S Masakadza c Rahim b Shafiul 14
Price c Shuvo b Shafiul 14
Mpofu (not out) 0
Extras (B-4, LB-4, W-16) 24
Total (all out, 48.1 overs) 181
Fall of wickets: 1-16, 2-24, 3-29, 4-39, 5-40, 6-47, 7-95, 8-120, 9-158.
Bowling: Mortaza 10-1-20-1, Shafiul 9.1-0-43-4, Razzak 10-2-14-4, Shakib 9-0-57-1, Shuvo 10-0-39-0.