Sri Lanka were all out for 138, some 303 runs behind New Zealand's 441 in the last over before tea.
Brendon McCullum did not hesitate to enforce the follow on with his bowlers still fresh after cleaning up Sri Lanka's first innings in under two sessions.
Boult set the tone for the rout when he claimed the first three wickets, including the prized scalp of Kumar Sangakkara, with a magical spell of swing bowling before lunch.
Boult finished with figures of three for 25 off 11 overs, Wagner three for 60, Southee had two for 17 and Neesham two for 28.
Also Read
Sri Lanka skipper Angelo Mathews fought valiantly to keep the innings together and was out for 50 in the only innings of any substance.
The green-tinged wicket played as it should, offering the New Zealand bowlers plenty of encouragement which they exploited expertly.
Where the New Zealand batsmen were able to belt 46 fours and 14 sixes, the struggling Sri Lankans managed nine fours and two sixes.
Boult became the 13th New Zealand bowler to take 100 Test wickets when he trapped Dimuth Karunaratne leg before wicket for no score with the fourth ball of the Sri Lankan innings.
In his third over he removed Sri Lanka's other opener Kaushal Silva for four before dismissing dangerman Kumar Sangakarra who edged a ball swinging away to Southee at third slip. Southee followed with the wickets of Lahiru Thirimanne for 24 and Niroshan Dickwella for two to have the top five Sri Lankan batsmen back in the pavilion for only 60 runs.