Tamim and Kayes put on 147 runs in their opening partnership to lay the foundation for what could have been a big score as Bangladesh sought to clean-sweep the visitors in the three-match series.
Zimbabwe hit back after removing the duo in quick succession but Mahmudullah smashed a rapid-fire 52 off 40 balls to help the hosts recover for a decent total.
Mahmudullah, who smashed five fours and a six, got a reprieve when he was on 32 as he walked assuming he was run out.
But replay confirmed Zimbabwe wicketkeeper Regis Chakabva had dislodged the bails before receiving the ball, prompting the umpires to call Mahmudullah back.
The right-hander was finally run out in the last over.
Kayes, who scored 76 in the previous match, led the charge to hit six fours and four sixes off 95 balls before he was stumped by Chakabva off Sikandar Raza.
Tamim soon followed, dismissed in the same fashion as Chakabva completed his second stumping, this time off Graeme Cremer.
Left-hander Tamim faced 98 balls and hit seven fours and a six.
Malcolm Waller removed Mushfiqur Rahim for 28 to become Chakabva’s third stumping.
Cremer then dismissed Liton Das for 17 and took two catches at point off Luke Jongwe in the same over to send Sabbir Rahman (one) and Nasir Hossain (nought).
Cremer claimed 2-53 while Jongwe finished with 2-50.
Source : AFP / Business Recorder