Darren Bravo provided stubborn resistance to New Zealand's bowlers bringing up his maiden Test double century to ensure West Indies made the hosts bat again and sent the first Test at University Oval in Dunedin into a fifth and final day.
Bravo, whose previous highest Test score was 195 against Bangladesh in 2011, ended Friday's fourth day on 210 not out after he had guided the visitors to 443 for six in their second innings, a lead of 47 runs.
West Indies captain Darren Sammy, although still hampered by a hamstring injury sustained while bowling, remained unbeaten on 44 after he and Bravo had put on a quick-fire 80-run partnership.
New Zealand first innings 609-9
West Indies first innings 213
West Indies second innings
K Edwards lbw b Sodhi 59
K Powell c Southee b Boult 14
D Bravo not out 210
M Samuels c and b Southee 23
S Chanderpaul lbw b Wagner 1
N Deonarine c Watling b Anderson 52
D Ramdin b Sodhi 24
D Sammy not out 44
TOTAL (for 6 wickets) 443
Overs: 139. Batting time: 584 minutes.
Fall of wickets: 1-18, 2-135, 3-178, 4-185, 5-307, 6-363.
Still to bat: Shane Shillingord, Tino Best, Sheldon Gabriel.
Bowling: Tim Southee 26-4-90-1, Trent Boult 28-8-71-1 (5w), Neil Wagner 25-2-96-1 (2nb), Corey Anderson 14-2-29-1, Ish Sodhi 41-6-130-2, Aaron Redmond 5-1-18-0.
"It has been hard work, I guess that's what Test cricket is," New Zealand legspinner Ish Sodhi told Radio Sport of the day in which the home side's bowlers created many opportunities only for potential catches to flash just wide of fielders.
The hosts also did not help themselves by dropping two difficult chances throughout the day.
New Zealand had high hopes of pushing for victory on Friday after they had asked the visitors to follow on before tea on the third day when they dismissed West Indies for 213 in their first innings, well short of the home side's 609-9 declared.
Victory appeared all but certain when New Zealand took two early wickets on Friday, dismissing Marlon Samuels for 23, caught and bowled by Tim Southee, and Shivnarine Chanderpaul for just one to leave the visitors struggling on 185-4.
The 39-year-old Chanderpaul, who surpassed 11,000 career Test runs in the first innings on his way to 76, was trapped lbw by left arm seamer Neil Wagner, who got some reverse swing with the old ball.
Bravo and Narsingh Deonarine, however, put on 122 runs for the fifth wicket before left-arm medium pacer Corey Anderson struck shortly before tea.
Anderson got the ball to bounce and tail slightly away from the left-handed Deonarine, who feathered a catch to wicketkeeper BJ Watling and was dismissed for 52.
Bravo and Denesh Ramdin then added 56 runs before the wicketkeeper misread a Sodhi 'wrong 'un' and was bowled between bat and pad for 24.
The left-handed Bravo, who has so far faced 404 balls and batted for almost 10 hours, and Sammy then ensured Brendon McCullum's frustrated side would need to bat again.
New Zealand have not won a Test in more than a year, having drawn five and lost four of their matches since McCullum took over the captaincy in late 2012.
The hosts are still strongly favoured to win the match, though periods of rain forecast for Dunedin later on Saturday means they must take the final four West Indies wickets early.
"Still a long way to go, those four wickets are not going to come easy," Sodhi said of the task the New Zealand bowlers face on Saturday.
"It's still pretty flat and if we put the pressure on then hopefully we can knock them over for not too much more."