Darren Bravo's maiden Test double-hundred took West Indies into an unlikely lead heading into the final day against New Zealand in Dunedin.
Having resumed on 168 for two following on, still 228 shy of making their hosts bat again, Bravo led a superb rearguard, with able support from Narsingh Deonarine and the lower-middle order, as the tourists closed on 443 for six, a lead of 47.
The day certainly did not start in positive fashion for the Windies as Marlon Samuels was caught and bowled by Tim Southee in the fourth over of the morning and Shivnarine Chanderpaul was trapped lbw by Neil Wagner soon after to leave the them 185 for four.
But Deonarine announced his arrival at the crease with a sweetly struck boundary off Wagner and he proved an able ally to Bravo, who brought up his ton off his 200th delivery.
By lunch the pair had compiled 50 runs in a conservative but effective partnership.
Deonarine was given a let-off thanks to a drop from Brendon McCullum and went on to reach a half-century, but he was out two overs later, caught behind off Corey Anderson, to end a partnership of 122.
At tea, West Indies still needed 82 to make the Black Caps bat again.
Bravo reached 150 in the first over of the evening while Denesh Ramdin looked good until he was bowled through the gate by Ish Sodhi, but that brought Darren Sammy to the crease.
He struck a succession of fours as his side edged into the lead, then launched two big sixes off Sodhi on his way to an unbeaten 44 at the close.
Bravo slowed as he neared 200, then reached the milestone with a rare false shot - edged past slip - but there was no doubting the quality of his innings.