Mohammad Hafeez hit an unbeaten century as Pakistan levelled the one-day series against Zimbabwe at 1-1 with a 90-run victory in Harare.
No 3 Hafeez blasted five sixes and nine fours in his 136 not out, his second highest score in one-day cricket, to help the tourists post an imposing total of 299-5 after being put into bat.
A valiant knock of 79 from captain Brendan Taylor gave Zimbabwe hope in their reply, only for them to then lose their last six wickets for a mere nine runs to be bowled out for 209 in 42.4 overs.
Junaid Khan claimed 4-15, including dismissing Malcom Waller (40) and Elton Chigumbura in the same over, as Zimbabwe collapsed from 200-4.
The key wicket, though, was claimed by Saeed Ajmal, the spinner getting the well-set Taylor caught one-handed by Mohammad Irfan. With their skipper gone having hit one six and six fours, the home side folded tamely.
Pakistan - who had failed to defend 245 in the first ODI - had earlier set about cautiously laying the platform in their innings before then launching a late blitz.
Opener Ahmed Shehzad fell for five and although Nasir Jamshed (32) helped add 50 for the second wicket, his departure, along with skipper Misbah-ul-Haq for three, left the visitors 84-3 midway through the 22nd over.
However, Hafeez and Umar Amin, who made 59 from 71 deliveries, shared in a fourth-wicket stand of 129 that saw the pair lift the scoring rate.
Although Amin was run out by Tendai Chatara, his departure just allowed Shahid Afridi to come to the crease. The big-hitting all-rounder plundered 39 not out from 23 deliveries, hitting three sixes as he helped put on 86.
The result sets up a winner-takes-all showdown in the final match of the series on Saturday, also in Harare.