Luke Jongwe produced a brilliant spell of bowling as Zimbabwe skittled Afghanistan out for their lowest one-day international total of 58 to secure a 117-run victory which keeps the series alive.
Afghanistan looked set to take an unassailable 3-0 lead when Zimbabwe slumped to 49-7 after Elton Chigumbura won the toss and chose to bat first, but Hamilton Masakadza (83) and Graeme Cremer (58) came to the rescue with a stand of 104 to ensure they recovered to post 175 all out.
The Zimbabwe bowlers then wasted no time in ripping through the Afghanistan batting line-up, dismissing them in only 16.1 overs to end their seven-match ODI losing streak and reduce the deficit to 2-1.
Neville Madziva (3-27) and Tendai Chisoro (2-18) made early inroads before Jongwe recorded incredible figures of 5-6 to go joint third on the list of the most economical five-wicket hauls in ODI cricket and consign Afghanistan to a humiliating defeat.
It had all started so well for Afghanistan, with Amir Hamza (2-35) trapping Peter Moor leg before without scoring from the third ball of the innings and Dawlat Zadran (2-25) getting rid of Chamu Chibhabha (0) in the next over.
That left Zimbabwe in dire straits on 0-2 and they were three down when Richmond Mutumbami (14) was sent on his way, then Mirwais Ashraf (3-20) dismissed Chigumbura and Sikandar Raza for just one run apiece to leave the tourists reeling on 38-5.
Zimbabwe were 49-7 when Cremer strode to the crease, but the spinner and Masakadza set about getting them out of the mire by biding their time before upping the run-rate in a frustrating stand for Afghanistan.
Masakadza cleared the ropes three times and hit a further six boundaries in his 138-ball knock, while Cremer launched as many sixes as he made his first half-century at international level to give Zimbabwe hope.
There was a sense of deja vu when Afghanistan got their reply under way in faltering style.
Madziva was soon on a hat-trick after sending Noor Ali Zadran and Mohammad Nabi on their way in the first over.
Mohammad Shahzad, who made a match-winning record ODI score by an Afghanistan batsman of 131 on Tuesday, made a brisk 31 but the wickets continued to tumble and Jongwe finished off the job with his maiden five-wicket haul to secure an emphatic win.