Recalled fast bowler Neil Wagner claimed 4-64 and Kane Williamson hit an unbeaten 58 as New Zealand fought its way back into the decisive third and final test against the West Indies on day three at Kensington Oval on Saturday.
Left-armer Wagner led the attack as New Zealand bowled out the West Indies for 317 on the stroke of tea, with the hosts limited to a first-innings lead of 24.
Williamson then piloted the Black Caps to 123-3 at the close, an overall lead of 99 runs with two days remaining.
Captain Brendon McCullum was unbeaten on 23.
Kemar Roach took 2-30 while newcomer Jason Holder claimed his first test wicket on his way to figures of 1-9.
Earlier, the Caribbean side slumped dramatically from its confident overnight position of 169-2 in reply to New Zealand's first-day total of 293.
Kirk Edwards and Darren Bravo stretched their third-wicket partnership to 44 before Wagner struck after 45 minutes as the tourists gradually shifted the balance.
Left-hander Bravo compiled 24 with five fours before he edged an expansive drive to gully, where Kane Williamson pouched a head-high catch at 197-3.
Edwards, who completed his second successive half century, followed eight runs later as he skied Tim Southee high to mid-on where Hamish Rutherford hauled in a well-judged catch. The right-hander hit six fours and a six off 111 balls.
Captain Denesh Ramdin and veteran Shivnarine Chanderpaul slowly rebuilt after that double strike.
But after adding 35 in just under an hour, Wagner struck for the Black Caps on the stroke of lunch.
Left-hander Chanderpaul spent 48 balls compiling 15 before he fended at a short ball and deflected a catch to wicketkeeper BJ Watling down the leg side at 240-5.
Ramdin scored a busy 45 off 70 balls with eight fours, and put on a further 37 with Holder, who contributed a classy 38.
But when Trent Boult prised out Ramdin and Kemar Roach at the same total with the second new ball, the innings dipped terminally.
Ramdin was lbw to an inswinger while Roach fell for a duck, edging behind for a low diving catch by Watling.
Holder and Shane Shillingford rallied briefly in an eighth-wicket stand of 36 before the last three wickets fell for four runs.
Holder hit four fours before he feathered a pull through to Watling off Jimmy Neesham, who ended the innings by yorking Jerome Taylor for 1.
In between, Wagner claimed his fourth scalp by ripping out Sulieman Benn's off stump.
The West Indies struck early in New Zealand's second innings as Roach removed Tom Latham to a top-edged pull.
Williamson and Hamish Rutherford added 55 but two quick wickets again set back the visitors.
Rutherford edged to wicketkeeper Ramdin off Roach on 19, and Ross Taylor edged Holder to second slip on 6.
Williamson, who survived a chance at 10 when Ramdin failed to go for an edge behind off the impressive Roach, battled to the close with his skipper McCullum, adding 55 unbroken for the fourth wicket.