The Black Caps will take a 125-run lead into day four of the first test against India in Bengaluru.
Rachin Ravindra reached his second test century and Tim Southee his seventh test half-century on Friday at M Chinnaswamy Stadium as New Zealand posted 402 in their first innings, an overall lead of 356 runs.
LATEST HEADLINES:
After scoring just 46 in their first innings, India had a much better approach in the second dig, reaching 231-3 at stumps on day three, with half-centuries from Rohit Sharma, Virat Kohli and Sarfaraz Khan.
Resuming at 180-3, Ravindra carried his bat for the rest of the innings, hitting 13 fours and four sixes in his 157-ball innings of 134.
After a mini-collapse, which saw Daryl Mitchell, Tom Blundell, Phillips and Matt Henry depart in the span of eight overs, Ravindra and Southee came together to tack on 137 runs for the eighth wicket.
Southee, who stood down from the captaincy after the Sri Lanka series earlier this month, belted five fours and four sixes in his 73-ball 65. He passed Kohli for sixth on the all-time test cricket most sixes list, with 92.
Indian openers Yashasvi Jaiswal (35 from 52) and captain Sharma (52 from 63) made an opening stand of 72, before both were dismissed by left-arm spinner Ajaz Patel in quick succession.
Kohli (70 from 102) and Khan (70 not out from 78) pushed the total along rapidly, adding 136 runs for the third wicket before part-timer Glenn Phillips, New Zealand's second spin option, made the crucial breakthrough with the final ball of the day.
Patel has figures of 2-70 from 12 overs and Phillips 1-36 from eight, while Henry and Will O'Rourke, who took nine wickets in the first innings, combined for 0-100 in 22 overs.