The Kiwis wrapped up victory before lunch on the fifth and final day by bowling West Indies out for 263 after setting the visitors 291 for victory.
West Indies resumed on 246 for eight, needing a further 45 runs to claim their first Test win in nine months, but lost Ian Bradshaw for 10 and Jerome Taylor [ Images ] for 13.
Bradshaw was caught in close by skipper captain Stephen Fleming [ Images ] off spinner Daniel Vettori [ Images ] while Taylor was bowled by paceman Shane Bond [ Images ], who finished with 5-69 after turning the match New Zealand's way with a devastating spell on Sunday.
"It was one of the most emotional Tests because it ebbed and flowed," Fleming told a news conference.
"Up to yesterday afternoon, we were not down and out but well behind and to win it was very satisfying.
"We did not play particularly well but we scraped through and showed a lot of character."
The second Test starts in Wellington on Friday.
New Zealand (1st innings): 275 (S. Styris 103no, N. Astle 51)
West Indies (1st innings): 257 (R. Sarwan 62, D. Bravo 59)
New Zealand (2nd innings): 272
West Indies (2nd innings): (Overnight: 246-8; Target: 291 runs)
C. Gayle c Fleming b Astle 82
D. Ganga c How b Astle 95
R. Sarwan c Styris b Bond 4
B. Lara b Bond 0
S. Chanderpaul c Fulton b Vettori 15
D. Bravo lbw b Bond 17
D. Smith c Fleming b Bond 0
D. Ramdin c Franklin b Vettori 15
I. Bradshaw c Fleming b Vettori 10
J. Taylor b Bond 13
F. Edwards not out 2.
Extras: (b-1 lb-3 nb-5 w-1) 10
Total: (all out, 102.3 overs) 263
Fall of wickets: 1-148, 2-157, 3-182, 4-211, 5-216, 6-218, 7-221, 8-246, 9-251, 10-263.
Bowling: S. Bond 27.3 - 7 - 69 - 5 J. Franklin 14 - 1 - 46 - 0 (nb-3) C. Martin 16 - 5 - 39 - 0 (nb-2 w-1) D. Vettori 35 - 11 - 92 - 3 N. Astle 10 - 4 - 13 - 2.
Result: New Zealand won by 27 runs.