
The total was the home side’s lowest-ever score against Pakistan, and the lowest ever recorded in 78 ODIs at Queens Sports Club.
Zimbabwe won the toss and opted to bat first, but Pakistan struck after just one over.
Opener Prince Masvaure, caught out by a lifter from Usman Khan, left Zimbabwe in trouble on 1 for 1.
The hosts were wobbling at 26 for 3, but worse was to come when Ashraf came on as first change in the 10th over.
He quickly had Peter Moor brilliantly caught in the slips by Babar Azam before trapping Chamu Chibhabha leg before wicket with a skidding full delivery.
He then had Elton Chigumbura caught behind and bowled Ryan Murray as Zimbabwe slipped to a perilous 54 for 8.
Tailenders Wellington Masakadza and Blessing Muzarabani clung on for seven overs, but legspinner Shadab Khan eventually removed Muzarabani with a googly and Ashraf then returned to end the innings with a pinpoint yorker.
That delivery clean bowled #11 Richard Ngarava, giving Ashraf his maiden international five-wicket haul.