Shakib’s 2-20 had restricted Zimbabwe to 168 for five, but his 65 from 40 deliveries failed to bring a morale-boosting win when Bangladesh lost five wickets for 23 runs in 19 balls.
Although captain Mushfiqur Rahim’s 28-run blitz threatened to take his side over the line, he fell to the first ball of the final over and Bangladesh finished on 162-8.
Hamilton Masakadza’s 59 had anchored Zimbabwe’s innings, which also enjoyed contributions from Brendan Taylor at the top and Malcolm Waller at the end.
Photos: Salman Khan returns from Jodhpur to Mumbai
Pics: Sidharth Shukla-Rashami Desai's sizzling chemistry at TV show launch
Ooh La Lana! WWE Diva flaunts sexy curves in these 30 pictures
15 'peach' perfect photos of Priyanka Chopra at People's Choice Awards 2017
62 going on 16: These photos of Rekha prove she is 'forever young'