Saud Shakeel registered his maiden Test century for Pakistan but another lower-order collapse from the hosts left the second Test against New Zealand evenly poised at Karachi's National Stadium on Wednesday.
The hosts finished day three on 407-9 after losing four quick wickets in the final session, in reply to New Zealand's first innings score of 449.
Shakeel, who starred in a 150-run partnership with wicketkeeper Sarfaraz Ahmed for the fifth wicket, was unbeaten on 124, with 17 fours.
Abrar Ahmed, who denied Ish Sodhi a hat-trick, was yet to open his account at the other end.
Shakeel has played for 488 minutes – batting all day Wednesday, and adding 83 for the fourth wicket with Imam-ul-Haq (83) and 150 with Sarfaraz (78).
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 Sodhi took two wickets in as many balls, dismissing Naseem Shah for four 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 batsman was on 102.
Earlier, opening batsman Imam-ul-Haq was snapped-up by wicketkeeper Tom Blundell off fast-bowler Southee after Pakistan resumed on 154-3.
Batting on 74 overnight, Haq rebuilt the innings after being involved in skipper Babar Azam's run-out on Tuesday, but fell in the second hour of the session.
He edged a drive to Blundell, but was only given out after New Zealand challenged the turned-down appeal.
Sarfaraz (78) joined Saud and scored freely after the lunch break to narrow the deficit.
Shakeel and Sarfaraz looked solid against the spinners with their sweep shots and New Zealand couldn’t get through their defences even after taking the second new ball after lunch before Daryl Mitchell struck late in the second session.
Sarfaraz brought up the third successive fifty of his first Test series in nearly four years but the hundred he was looking for did not materialise.
Two balls after getting an lbw decision against him overturned, Sarfaraz was stumped off Mitchell.
Saud took a single off Michael Bracewell to bring up his hundred and got a reprieve on 102.
Bracewell took a brilliant catch in the slips to remove Salman for 41, however, and suddenly wickets started tumbling.
Shakeel was delighted to score a hundred on his home ground.
“When I entered into the 90s I got nervous for one or two overs, but Sarfaraz told me not to take any tension,” Shakeel said. “Sarfaraz is a very senior player, I started my career with him. It was good that he was with me when I scored my century.”
New Zealand wicketkeeper Blundell believed the wicket was still good for batting.
"We have to get the last wicket [on Thursday] and then, I guess, have to reassess because Pakistan are a good batting side, so probably need a big total."