Left-hander Saud Shakeel hit a maiden century Wednesday before New Zealand hit back to keep Pakistan to 407-9 at the close of the third day of the second Test in Karachi.
Shakeel was unbeaten on 124 and Abrar Ahmed yet to score after New Zealand took four wickets in the final session for 70 runs, leaving the hosts 42 runs shy of the tourists' first innings total of 449.
But New Zealand spinner Ajaz Patel dismissed Agha Salman (41) and Hasan Ali (four) as Pakistan slumped from 385-5 to 397-9, losing four wickets for just 12 runs off 27 balls.
Leg-spinner Ish Sodhi took two wickets in as many balls, dismissing Naseem Shah for four and and Mir Hamza without scoring before last-man Ahmed saw out the day.
Shakeel was lucky to get a life off pacer Tim Southee when Tom Latham grassed a simple catch at short cover when the batter was on 102.
With wickets falling at the other end, Shakeel went into a shell, scoring just 23 runs in the final session.
The two-match series is tied after the first Test -- also in Karachi -- ended in a draw.