After New Zealand posted 441 in their first innings at Hagley Oval in Christchurch, a four-pronged pace attack led by Trent Boult dismissed Sri Lanka for 138 inside 43 overs.
"That first innings was something special. It just seemed to happen against a quality side so it was brilliant," New Zealand's chief destroyer Boult said after returning figures of three for 25 off 11 overs.
"It's a great opportunity to win a Test match in New Zealand," the left-arm quick said.
He described the pitch as "inconsistent" with the amount of assistance it gave but said if the New Zealand bowlers kept the pressure on "then I think we're going to be successful".
Also Read
New Zealand had resumed the second day at 429-7 and lost their last three wickets for a cheap 12 runs in 32 balls as their innings folded for 441.
In a pre-lunch onslaught Boult ripped through Sri Lanka's top order starting with the removal of Dimuth Karunaratne for nought with his fourth delivery to bring up his 100th Test dismissal.
He followed with the wickets of Kaushal Silva for four and Sri Lanka dangerman Kumar Sangakarra for six.
Sangakkara was six runs short of becoming only the fifth player to reach 12,000 Test runs when he was beaten by a late swinging Boult delivery that caught an outside edge and was snapped up by Tim Southee at third slip.