A five-wicket haul by Brian Vitori and a century stand between Tino Mawoyo and Hamilton Masakadza put Zimbabwe on top before both partners and nightwatchman Tinashe Panyangara fell in the last three overs of the day.
Zimbabwe were 121 for four at the close, an overall lead of 185 on a wearing pitch which has made stroke play difficult for batsmen of both sides.
Left-arm fast bowler Vitori took five for 61 as Pakistan collapsed to 230 all out, losing their last six wickets for 19 runs and giving Zimbabwe a first innings lead of 64.
Stand-in opening batsman Prosper Utseya was caught at midwicket off Rahat Ali for five when Zimbabwe batted again with regular opener Vusi Sibanda feeling ill.
But Mawoyo and Masakadza added 104 for the second wicket with some of the most impressive batting of the match.
Mawoyo made 58 off 165 balls before he was trapped leg before wicket by left-arm spinner Abdur Rehman shortly before the close. Masakadza followed up his first innings of 75 with 44 before he too fell leg before, to left-arm fast bowler Rahat Ali.
Rehman, the most impressive of the Pakistan bowlers, claimed a second wicket in the last over of the day when Panyangara was caught at short leg. Rehman took two for 20 in 15.2 accurate overs.
Zimbabwe 294 and 121 for 4 (Tino Mawoyo 58, Hamilton Masakadza 44; Abdur Rehman 2 for 20) lead Pakistan 230 (Younis Khan 77, Khurram Manzoor 51; Brian Vitori 5 for 60) by 185 runs.