Bangladesh 468 (Mahmudullah 150*, Liton 95, Muzarabani 4-94) and 45 for 0 (Shadman 22*, Saif 20*) lead Zimbabwe 275 (Kaitano 87, Taylor 81, Miraz 5-82, Shakib 4-82) by 237 runs

Mehidy Hasan Miraz and Shakib Al Hasan scythed through a hot-and-cold Zimbabwe line-up on the third afternoon, to put Bangladesh on top of the one-off Test in Harare. Miraz claimed his eighth five-for while Shakib picked four wickets as well. This was only the third time that spinners took nine wickets in an innings in Zimbabwe.

The home side lost their last eight wickets for 51 runs after they were comfortably placed at 225 for 2 at one stage. While all this was happening, Takudzwanashe Kaitano top-scored with 87 off 311 balls, batting quite impressively at the other end. It is the highest score by a Zimbabwean opener on debut, and the third-highest number of balls faced by a Zimbabwean debutant overall. Brendan Taylor made 81 but his dismissal ultimately changed the home side's outlook.

The Bangladesh openers Shadman Islam and Saif were solid in the second innings, staying unbeaten on 22 and 20 respectively. They stretched Bangladesh's lead to 237.

Earlier, Zimbabwe's innings was one of extremes. Their top three batters scored 209 runs, but there were also four ducks. The truly extreme aspect was in how they batted in the four sessions. On the second evening and third morning, they looked confident, particularly with captain Taylor in the middle. He made a quickfire 81 with 12 fours and a six, shepherding Kaitano in a 115-run second wicket stand.

He smacked Shakib for a straight six to reach his fifty off 58 balls, and swung Ebadat Hossain away for a thrilling four through midwicket. But his aggression got the better of him against Miraz, who had him caught at square leg, playing a half-hearted sweep shot.

Kaitano was understandably more cautious, scoring the bulk of his runs when the bowlers erred their line. He scored 59 runs on the leg side, hitting only three fours through the covers. He tried to keep things moving when batting with Dion Myers but the pair slowed down after the lunch break.

It forced Myers to play a rash shot, the sweep once again, which got him caught at long leg. Timycen Maruma became the fourth batter out sweeping, lbw to Shakib for a 17-ball duck. Taskin Ahmed had Roy Kaia caught behind for a duck too, before Miraz took over the wicket-taking.

He ended Kaitano's long vigil with one that took his edge down the leg side, after which he cleaned up the tail in 19 balls. Donald Tiripano, Victor Nyauchi and Blessing Muzarabani fell in three successive overs, before Shakib took the last wicket, that of Richard Ngarava, caught at slip, also for a duck.

Mohammad Isam is ESPNcricinfo's Bangladesh correspondent. @isam84