
Trailing 1-0 in the series after a 25-run defeat in the opening ODI while chasing 142, Bangladesh must successfully chase 248 to avoid conceding the series with one match still to play.
Fast bowler Taskin Ahmed gave Bangladesh a dream start, striking twice in successive overs to reduce Zimbabwe to 8-2 inside the opening three overs.
Nahid Rana, who claimed a record-breaking 6-21 in the first ODI despite Bangladesh's defeat, then dismissed captain Craig Ervine with a typical express delivery to leave the hosts reeling at 32-3.
Opener Ben Curran, however, anchored Zimbabwe's recovery with an unbeaten 111 off 135 balls, an innings featuring nine boundaries.
Curran first steadied the innings with Wessly Madhevere, who made 15 before Captain Mehidy Hasan Miraz broke the partnership with Zimbabwe on 66-4.
Sikandar Raza then added 68 runs with Curran for the fifth wicket to further revive the innings before Miraz dismissed Raza for 33.
Leg-spinner Rishad Hossain removed Clive Madande for 4 soon afterwards, leaving Zimbabwe at 148-6 and giving Bangladesh hope of restricting the hosts to a modest total.
Those hopes were dashed by Brad Evans, who blasted an unbeaten 58 off just 38 balls, smashing two fours and five sixes.
Evans and Curran put on an unbroken 99-run stand for the seventh wicket, accelerating sharply in the closing stages. Zimbabwe plundered 60 runs in the final five overs, including 22 off Taskin in the last over, to lift the total to a competitive 247-6.
Taskin, despite his early breakthroughs, finished with 2-57. Miraz returned figures of 2-32, while Nahid Rana and Rishad Hossain claimed one wicket each, reports BSS.