Trent Boult had blown the top off the West Indies order before Tim Southee polished off the tail to pick up his 100th Test wicket as New Zealand dismissed the tourists for just 103 in their second innings shortly before the close in Hamilton.
New Zealand had conceded an 18-run first innings lead after they were bowled out for 349 earlier on Saturday, courtesy of Ross Taylor's third century of the series, before paceman Boult reduced the West Indies to 13 for three in a devastating spell.
Neil Wagner and Corey Anderson then chipped in with vital wickets through the middle order before Southee claimed three victims in his ninth over to finish off the West Indies innings and set his side a victory target of 122 runs.
New Zealand, who reached 6-0 in the two overs they faced in the evening session, lead the three-match series 1-0 after cruising to victory in Wellington last week.
"The bowlers bowled outstandlingly well to get 10 wickets in a session," Taylor told Radio Sport.
"Every single one of them bowled with aggression and put pressure on the West Indies batsmen.
"They put them under pressure for long periods of time and gave them no reprieve."
Boult, who took match figures of 10-80 in the second Test but captured just one wicket in the first innings in Hamilton, was back to his best, bowling Kraigg Brathwaite with an inswinger for seven on the first ball of the fifth over.
He then had Kieran Powell well caught by Southee at third slip for a duck off the final ball of the over before Kirk Edwards tickled a ball down the leg side and wicketkeeper BJ Watling took a sharp catch.
All-rounder Anderson and Wagner then chipped away at the middle order with the latter taking the crucial wicket of Shivnarine Chanderpaul, who had anchored the visitors' first innings with 122 not out, when he was brilliantly caught for 20 by Kane Williamson in the gully.
Narsingh Deonarine became Wagner's second victim when the left hander prodded at a delivery that flew to Taylor at first slip and exposed the tail.
Boult returned to the attack and had Denesh Ramdin, who scored 107 in the first innings, trapped in front for 18 before Southee finished off the tourists with his 100th Test wicket when he trapped Veerasammy Permaul lbw for a duck.
Taylor, who scored an unbeaten 217 in the series-opener in Dunedin and 129 in Wellington, shone again in New Zealand's first innings with 131.
The 29-year-old right-hander has scored 493 runs in four innings and is within sight of Andrew Jones's New Zealand record of 513 runs in a three-match series. Taylor's series average is 246.5.
"This was definitely the hardest of the three centuries so far," he said. "The way (Sunil) Narine bowled and Permaul were at us all the time and having to negate that."
Off-spinner Narine took career-best figures of six for 91 from 42 overs and will look to be a major factor on the fourth day, already getting big turn from the pitch.
"If you lose a few early wickets like we did in Dunedin it... could be difficult," Taylor added.
"Still 110 runs to go and we need to get off to a solid start."