Craig ended the day with best figures of 7-94 -- his first five-wicket haul -- which sparked a collapse as Pakistan lost seven wickets for 70 runs after resuming at 281-3.
At lunch New Zealand had made seven without loss with Brendon McCullum on six and Tom Latham yet to score.
Opener Mohammad Hafeez hit a career best 197 before he miscued a pull off leg-spinner Ish Sodhi and was caught at deep square-leg.
But it was skipper Misbah-ul Haq who sparked a collapse, edging seamer Tim Southee to wicket-keeper BJ Watling in the fourth over of the day, without adding to his Wednesday's score of 38.
More From This Section
Craig wrapped up the middle and lower order dismissing Asad Shafiq (11), Sarfraza Ahmed (15), Mohammad Talha (nought), Rahat Ali (nought) and Yasir Shah (25) -- his last four wickets coming off 25 balls.
Pakistan lead the three-match series 1-0 after winning the first Test and drawing the second.
Before the start, Pakistan and New Zealand teams and officials observed a minute's silence and wore black armbands to join in the mourning for young Australian batsman Phillip Hughes.
Hughes, 25, died Thursday from a rare head injury after being hit by a bouncer in a first-class match in Sydney, leaving the cricketing world in a shock.
The New Zealand team also did not celebrate any dismissal.