The off-spinner claimed four second innings wickets to finish with eight in the match as the home side crumbled to 216 all out after being set the daunting target of 403.
There was an unexpected late flourish by the West Indies last-wicket pair as last man Shane Shillingford belted the fastest-ever half-century by a Caribbean cricketer in Tests and dominated a record tenth-wicket partnership against New Zealand of 82.
Yet it only delayed the inevitable with New Zealand captain Brendon McCullum summoning Kane Williamson for the last over of the day.
Craig's haul of four for 97 complimented the very important early double-strike by Tim Southee after McCullum declared his team's second innings at 156 for eight, an effort highlighted by opening batsman Tom Latham's battling 73, his second half-century of the match.
Fresh from an excellent effort in the first innings when he claimed four for 19, Southee removed openers Kieran Powell and Chris Gayle in quick succession.