Nafees blasted 118 not out off of 148 balls, including 12 fours, as the Bangladeshis romped home with more than five overs to spare to finish on 201 for two after Zimbabwe had been bowled out for 197 on Sunday.
The Zimbabweans, who had already wrapped up the series after victory in the fourth one-dayer on Friday, were always struggling to get into the match after a disappointing batting performance.
Bangladesh's decision to play three spinners proved decisive, with both Abdur Razzak and part-time bowler Rajin Saleh tying the Zimbabweans in knots with a miserly performance.
Razzak finished with figures of 10-2-24-2 but it was Saleh who was the principal destroyer.
The offspinner took four wickets for 16 runs in only 4.3 overs, including the scalp of Zimbabwe's top-scorer Hamilton Masakadza, who added 75.
Masakada's departure precipitated a dramatic collapse for Zimbabwe and they lost their remaining five wickets for 19 runs.
That left the way clear for Nafees to steer Bangladesh home and the result was never in doubt with opener Saleh contributing 37 before falling to Prosper Utseya and Saqibul Hasan chipping in with 30.