New Zealand had decided on a short ball policy and instead of playing judiciously, Sri Lanka's batsmen took the challenge on with disastrous results.
Six batsmen fell hooking or pulling, Udara Jayasundera was victim of a contentious DRS call after being given not out initially to a short lifter, while Dushmantha Chameera was run out in comical circumstances.
The wickets were shared around, Tim Southee finishing with four for 26, Neil Wagner three for 40 and Doug Bracewell two for 31.
New Zealand were in early trouble in their chase.
Tom Latham, having been clunked a nasty blow on his helmet by the lively Chameera, fell to another hook, caught at fine leg and Martin Guptill couldn't control a short lifter from the same bowler and at 11 for two, it was game on.
Ross Taylor also hooked his way out, again the impressive Chameera the beneficiary, after adding 67 while captain Brendon McCullum, in his last test innings on the ground, had a rush of blood, charging at Chameera to sky a catch to cover.
Williamson was the rock for New Zealand, driving impressively, even while clearly limping at the end of hard run singles.
Chameera's four wickets give him nine for the match. One more and he'll join Chaminda Vaas as the only Sri Lankan seamer with 10 in a test. It has been a fine performance from the 23 year old in his fourth test.
New Zealand are aiming to extend their unbeaten home run to 13 tests.
- By David Leggat in Hamilton
SCOREBOARD
WAGONWHEEL
MANHATTAN