Left-hander Sean Williams scored a brilliant century to help Zimbabwe post 278-6 after Pakistan's paceman Mohammad Hasnain took a maiden five-wicket haul in the third and final one-day international in Rawalpindi on Tuesday.
Williams made an unbeaten 135-ball 118 for his fourth ODI hundred to lift Zimbabwe from a precarious 22-3 after they won the toss and batted on a flat Rawalpindi stadium pitch.
Pakistan lead the three-match series 2-0 after winning the first match by 26 runs and the second by six wickets, also at the same venue.
It was 20-year-old paceman Hasnain who shook the tourists by removing Zimbabwe skipper Chamu Chibhabha (nought), Craig Ervine (one) and Brian Chari (nine) in his first four overs of hostile fast bowling.
Williams added an invaluable 84 runs for the fourth wicket with Brendon Taylor (56) and another 75 for the fifth with Wesley Madhevere (33) to stage a fightback.
Dropped thrice on 73, 75 and 81, Williams finally reached his hundred with a couple off paceman Wahab Riaz, much to the jubilation of the Zimbabwe dressing room.
He hit 13 boundaries and a six in his knock.
Taylor, who scored a century in the first game on Friday, hit eight boundaries before falling to a miscued cut off Hasnain.
Hasnain, who had five wickets in his first five matches, had Madhevere caught off his own bowling to improve on his previous best of 2-52 against Australia in Dubai last year.
Williams and Sikander Raza -- who made a 36-ball 45 -- cut loose in the final overs adding 96 runs for sixth wicket, piling on 46 in the last five overs.