Shakib bowled Regis Chakabva with an excellent, spinning delivery to dismiss the Zimbabwe opener for 22, leaving Zimbabwe 43 for one at tea as they went in pursuit of a highly unlikely 401 to win.
Vusi Sibanda was 21 not out at the interval with Hamilton Masakadza yet to get off the mark, but Zimbabwe’s task of avoiding defeat was obvious in the statistical analysis.
The African side have never successfully chased more than 162 to win a Test, while the highest run chase by anyone on this ground is 192 — by Pakistan in a three-wicket win over Zimbabwe 15 years ago.
Bangladesh began day four at the Harare Sports Club on 163 for five — an overall lead of 272, which they extended to exactly 400 before declaring on 291 for nine midway through the second session. Captain Mushfiqur Rahim top scored with 93 and received fine support from Nasir Hossain, who got his second half-ton of the match before finishing unbeaten on 67. Brothers Shingirai and Hamilton Masakadza claimed seven of the nine Bangladesh wickets that fell, with the former claiming figures of 4 for 58 and the latter with 3 for 24.
Zimbabwe hold a 1-0 lead in the two-match series.