Star all-rounder Shakib Al Hasan smashed a half-century and claimed three wickets as Bangladesh thrashed Zimbabwe by 91 runs in a tri-nation one-day international tournament in Dhaka on Tuesday.

Chasing 217 for victory, Zimbabwe were bundled out for 125 off 36.3 overs after Shakib took 3/34 with his left-arm spin for the hosts.

Shakib and opener Tamim Iqbal, who top-scored with 76, set up the win as they shared 106 runs for the second wicket after Bangladesh elected to bat first.

Zimbabwe skipper Graeme Cremer claimed four wickets to restrict Bangladesh to a modest 216/9 despite a strong start provided by Tamim.

The left-handed Tamim registered his third half-century in as many matches, becoming the first Bangladeshi to amass 6,000 ODI runs in the process. He was also named man of the match.

Bangladesh collapsed from 147/2 to 170/8 with paceman Kyle Jarvis grabbing three wickets for 42 runs.

Number-10 batsman Mustafizur Rahman struck an unbeaten 18 to take Bangladesh past the 200-run mark and complete their full quota of 50 overs.

Zimbabwe were dealt early blows as Shakib and Bangladesh skipper Mashrafe Mortaza tore through the opposition top order.

They were unable to overcome the damage despite middle-order batsman Sikandar Raza’s gritty 39 off 59 balls – the highest of the innings.

Mustafizur (2/16) ended the resistance of Raza, who dragged a short-pitched delivery onto his stumps.

Mortaza and left-arm spinner Sunzamul Islam also took two wickets each.

Zimbabwe still has a chance to join Bangladesh in the final on January 27 provided the hosts beat Sri Lanka by a good margin in the final league game on Thursday.