The result - which came after the tourists posted 4-363, with centuries to Kirk Edwards and skipper Dwayne Bravo - meant the series ended tied at 2-2.
New Zealand never built momentum in their run chase and were bowled out for 160 before the 30-over mark.
Martin Guptill (6), Jesse Ryder (17), Kane Williamson (16), Ross Taylor (9) and skipper Brendon McCullum (6) were all gone with the score at 65.
The big-hitting Corey Anderson tried to lift the run rate, but on 29 skied a catch to leave the Black Caps at 6-94.
Kyle Mills led some lower-order resistance and got the only six of the New Zealand innings' before he was run out.
Left-arm spinner Nikita Miller finished with 4-45, while Bravo followed up his century with a miserly 1-12 off five overs to be named man of the match.
The Windies, after being sent in at Seddon Park, eclipsed their previous record one-day total of 4-360 against Sri Lanka in the 1987 World Cup.
They got a flying start thanks to opener Kieran Powell, with 73 runs from 44 balls.
The left-hander's knock included a six which was caught by a fan, who won $NZ100,000 ($A93,850) offered by a beer company for a one-handed catch.
Powell fell leg-before to spinner Nathan McCullum while trying to sweep and the run rate slowed after his departure.
Edwards and Bravo came together at 3-143 and they consolidated before accelerating.
They ended up putting on 211, the highest West Indies partnership in one-dayers against New Zealand.
Edwards' century was his first in ODIs and he ended unbeaten on 123 in an 108-ball knock that included 12 fours and four sixes.
Bravo got the second hundred of his 154-ODI career, before his entertaining innings came to end at 106 when he was caught at third man off spinner Williamson.
The two teams now play a two-match Twenty 20 series beginning in Auckland on Saturday.