Saud Shakeel registered his maiden Test century but Pakistan's lower-order collapse left the second Test against New Zealand evenly poised at Karachi's National Stadium on Wednesday.
The hosts, replying to New Zealand's first-innings 449, finished day three on 407-9 after losing four quick wickets in the final session.
Saud, who forged a 150-run partnership with Sarfaraz Ahmed for the fifth wicket, was unbeaten on 124, which included 17 fours.
Abrar Ahmed, who denied Ish Sodhi a hat-trick, was yet to open his account at the other end.
Saud went into the match with five half-centuries in his first four Tests and the hundred duly arrived in his fifth, on his home ground.
Earlier, Pakistan lost Imam-ul-Haq, who made 83 before falling caught behind off New Zealand captain Tim Southee in the only dismissal of the morning session.
Southee reviewed the original not-out decision and replays confirmed the ball had brushed the toe-end of Imam's bat before nestling in Tom Blundell's gloves.
Sarfaraz (78) joined Saud in a union of local boys who scored freely after the lunch break to narrow the deficit.
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 Daryl Mitchell.
Saud took a single off Michael Bracewell to bring up his hundred and got a reprieve on 102 when Tom Latham grassed a simple catch at short point off Southee.
Bracewell took a brilliant catch in the slips to remove Agha Salman for 41, however, and suddenly wickets started tumbling.
Sodhi bowled Naseem Shah and Mir Hamza with successive deliveries but Abrar blocked the hat-trick delivery.
The opening Test ended in a draw.
Shivam Mavi announces himself on big stage
Hardik hails youngsters after 1st T20I win
Umran Malik Shatters Bumrah's Record
3rd Test: Aus reign on gloomy day one as SA frustrated
Why batting on tricky No 6 in T20s is difficult