The all-rounder Jimmy Neesham has become the first New Zealand cricketer and just the eighth player ever to score centuries in each of his first two Tests.
Neesham, who scored 137 not out on debut against India in February, was dismissed for 107 after sharing a 201-run partnership with wicketkeeper BJ Watling, who made 89 as New Zealand declared their first innings of the first Test the West Indies on 508 for seven at Jamaica's Sabina Park.
The West Indies openers Chris Gayle, playing his 100th Test, and Kieran Powell guided the home side to 19 for none at stumps, still 489 runs in arrears.
Powell should have been dismissed on eight when he was dropped by Peter Fulton at second slip off Tim Southee.
Neesham and Watling resurrected New Zealand's innings when New Zealand lost three wickets for 20 runs in the first session of the day having resumed at 240 for two.
First day centurion Kane Williamson made 113.
Captain Brendon McCullum then fell for seven when he was caught by Gayle at first slip to leave the hosts on 279 for five and in danger of undoing their good work on a slow and low pitch.
Neesham and Watling guided their side through to lunch and accelerated in the middle session, scoring 129 runs in 28 overs to put New Zealand in the box seat.
Watling was the last wicket to fall, hitting out in an effort to reach his fourth Test century when he was caught in the deep off Shillingford to trigger the declaration.
The only other players to score hundreds in their first two Tests are Mohammad Azharuddin, who also scored a century in his third test, as well as Bill Ponsford, Doug Walters, Alvin Kallicharran, Greg Blewett, Sourav Ganguly and Rohit Sharma.