Boult had opener Shan Masood (four) caught in his second over, bowled Azhar Ali (six) with a sharp incoming delivery in his fourth and then trapped Younis Khan for a first-ball duck in his fifth to bring New Zealand closer to a series-levelling win.
Pakistan lead the three-Test series 1-0 after winning the first Test in Abu Dhabi by 248 runs and drawing the second in Dubai.
At the break Mohammad Hafeez was unbeaten on 18 and skipper Misbah-ul Haq was one not out, with Pakistan needing a further 309 to avoid an innings defeat.
Boult’s devastating spell came after New Zealand extended their first innings to 690 in the morning — their highest-ever total in all Test cricket.
That gave New Zealand a huge 339-run lead over Pakistan’s first innings total of 351 and they pressed home their advantage quickly with Boult’s strikes.
Masood drove uppishly to be caught in the slips while Ali misjudged a sharp incoming delivery which hit the off stump as he tried to leave the ball.
Boult again used the angle well from round the wicket to trap the in-form Younis leg-before. A review could not save the batsman.
New Zealand had added a further 53 earlier in the morning after resuming on 637-8, with Mark Craig (65) becoming the sixth batsmen to reach a half-century.
Brendon McCullum led the run-feast with 202 and Kane Williamson made 192.
New Zealand’s innings included a world record 22 sixes, beating the 17 struck by Australia against Zimbabwe at Perth in 2003.
Pakistan’s much vaunted bowling attack suffered badly, with paceman Rahat Ali taking 4-99 and leg-spinner Yasir Shah conceding 193 runs for his four wickets.
New Zealand’s previous highest Test total of 680-8 came against India in Wellington in February this year. (AFP)