Brian Vitori grabbed five wickets and opener Tino Mawoyo scored a half-century as Zimbabwe took control of the second Test against Pakistan with a 185-run lead on Thursday.
Zimbabwe's batsmen, however, will be ruing some rash shots towards the end of the third day as they would have been in an even stronger position had they not lost three wickets in the final three overs.
The home side, seeking to level the two-match series, were 121 for four in their second innings after earlier dismissing Pakistan for 230 at the Harare Sports Club.
Mawoyo (58) and Hamilton Masakadza (44) were aggressive in forging a strong 104-run second wicket partnership for Zimbabwe to give them a real chance of setting Pakistan a tough target to chase for victory on a wicket expected to deteriorate.
But they both lost their wickets late in the day just when they looked set to return to the crease on Friday.
Mawoyo, who has struggled in the series since returning from injury, survived several close calls, including being dropped by wicketkeeper Adnan Akmal off the bowling of Saeed Ajmal, as he showed a return to form.
But he fell to a ball from Abdur Rehman that skidded on and trapped him leg before two overs from the close. Masakadza was similarly caught on the front foot four balls later and then night watchman Tinashe Panyangara was dismissed without scoring, bringing the third day to a close.
Pakistan were 163 for three overnight, in reply to Zimbabwe's first innings total of 294, but hopes of a full day at the crease on a docile surface were dented when captain Misbah-ul-Haq (33) fell soon after the new ball was taken and Younus Khan (77) was caught by Mawoyo at mid wicket off Panyangara.
Pakistan's last six wickets tumbled for only 19 runs as Vitori returned figures of five for 61 and Panyangara got two wickets with successive balls.
Vitori is only the second Zimbabwean bowler to take five wickets in a Test innings since 2005.
Zimbabwe (1st innings): 294
Pakistan (1st innings): (overnight 163-3)
Khurram Manzoor run out 51
Mohammad Hafeez c Masakadza b Vitori 22
Azhar Ali lbw b Panyangara 7
Younis Khan c Mawoyo b Panyangara 77
Misbah-ul-Haq c Masakadza b Vitori 33
Asad Shafiq b Chatara 10
Adnan Akmal c Taylor b Vitori 6
Abdur Rehman lbw b Panyangara 0
Saeed Ajmal c Mutumbami b Vitori 7
Junaid Khan b Vitori 3
Rahat Ali not out 1
Extras (b4, lb6, nb1, w2) 13
Total: (104.5 overs) 230
Fall of wickets: 1-29, 2-62, 3-96, 4-182, 5-211, 6-212, 7-212, 8-224, 9-229
Bowling: Panyangara 22-9-43-3, Vitori 26.5-8-61-5, Chatara 27-10-45-1, Masakadza 12-5-24-0, Utseya 12-0-41-0, Chigumbura 5-2-6-0.
Zimbabwe (2nd innings):
T Mawoyo lbw b Abdur Rehman 58
P Utseya c Asad Shafiq b Rahat Ali 5
H Masakadza lbw b Rahat Ali 44
T Panyangara c Azhar Ali b Abdur Rehman 0
B Taylor not out 0
Extras (b3, lb6, w5) 14
Total: (for four wkts, 50.2 overs) 121
Fall of wickets: 1-13, 2-117, 3-121, 4-121
Bowling: Junaid Khan 11-3-26-0, Rahat Ali 14-2-37-2, Saeed Ajmal 10-2-29-0, Abdur Rehman 15.2-3-20-2.
Photograph: Hagen Hopkins/Getty Images