Zimbabwe thumped Bangladesh by 151 runs in the northeastern city of Sylhet on Tuesday to claim their first Test win in five years.
Debutant spinner Brendon Mavuta claimed 4-21 while Sikandar Raza grabbed 3-41 as the visitors bowled out Bangladesh for 169 in the second innings on the fourth day.
Imrul Kayes hit 43 runs for Bangladesh, top-scoring for the hosts as Zimbabwe take a 1-0 lead in the two-Test series.
Bangladesh made 143 runs in the first innings in response to Zimbabwe's 282.
The visitors were then bowled out for 181 runs in the second innings, setting up a 321-run target for the home side.
The second Test will be held in Dhaka from November 11-15.
Bangladesh, chasing a record target of 321 runs in the fourth innings, resumed play on 26-0 but within half-an-hour had lost their first wicket, with others following quickly.
Play started 30 minutes early to make up for lost time after bad light brought a premature end to day three, with Bangladesh still needing 295 runs on a wearing pitch.
The home side — whose best run chase was 217-6 against the West Indies in 2009 — started collapsing once Raza reviewed a leg-before appeal against opener Liton Das.
The umpire gave Liton not out but a TV replay indicated the ball would have hit the stump after pitching outside off — ending Liton's innings on 23.
One down, Mominul Haque dragged a Jarvis delivery onto his stumps for nine before Raza bowled Imrul Kayes for 43 to leave Bangladesh at 83-3.
Skipper Mahmudullah promoted himself to number four but could not rescue his side and perished for 16, giving a catch to substitute fielder Craig Ervine at short leg off Raza.
Raza then took a spectacular catch at cover on the stroke of lunch to hand debutant Mavuta his maiden Test wicket and send back Nazmul Hossain.