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.
(Reporting by Mark Gleeson in Cape Town, editing by Pritha Sarkar)