The left-hander, who scored a 137 not out on debut against India in Wellington in February, compiled a patient 107 in 171 balls before Sulieman Benn caught an outside edge with just over an hour of the day’s play remaining.
Neesham, who stroked 11 fours and two sixes in his three-and-a-half hour innings, put on 201 runs with BJ Watling for the sixth wicket on a flat Sabina Park pitch.
After two Tests, 23-year-old Neesham’s average stands at 138.5.
After declaring at 7-508 with less than an hour remaining, the New Zealand bowlers worked hard for minimal reward as Chris Gayle and Kieran Powell eased the West Indies through to 0-19 at stumps.
Peter Fulton put down perhaps the Black Caps’ best chance in the fourth over, grassing a solid chance when Powell edged pace man Tim Southee to second slip.
Resuming at 2-240, the Black Caps added only 19 runs before Benn slipped through a slider to remove Kane Williamson’s off-stump.
The New Zealander added just eight to his overnight score of 105, his sixth Test century steadying the Black Caps after the early loss of opener Fulton for one.
Ross Taylor (55) and Brendon McCullum (7) departed in quick succession to leave the Kiwis looking slightly shakier at 5-279, but Neesham and Watling upped the run rate after lunch and regained momentum in an innings which was beginning to stagnate.
Southee featured with a quickfire 21 off 16 balls after Neesham’s dismissal, but when Watling holed out to deep midwicket for 89, Black Caps skipper Brendon McCullum called his batsmen in.