Guptill, having blasted 93 off 30 deliveries in the third match, hit 102 as the Black Caps, also boosted by Kane Williamson and Ross Taylor fifties, posted 294 for five after losing the toss.
Henry then reduced Sri Lanka to 33 for three and, despite Dinesh Chandimal’s 50 and 95 from Angelo Mathews, returned to help dismiss the tourists for 258 and complete figures of 5-40 from 10 overs.
Despite losing Tom Latham with the score on three, Guptill formed fine stands of 122 and 81 with Williamson and Taylor, who both made 61, to give his side a platform.
Guptill smashed nine fours and three sixes, reaching three figures off 107 balls, but departed two deliveries later when he found long-on off Nuwan Kulasekara, who also dismissed Taylor and Henry Nicholls.
Luke Ronchi struck an unbeaten 37 and Mitchell Santner contributed 21 not out, including two sixes from the final three balls, to give New Zealand impetus that they took into their bowling.
Tillakaratne Dilshan edged Boult behind while Henry bowled Lahiru Thirimanne and had Danushka Gunathilaka taken at mid-on.
Mathews and Chandimal tried to resurrect the innings with a stand of 93 off 20 overs, but when the latter skied a catch off Boult for a 65-ball 50 there looked no way back.
A lusty 39, off just 22 deliveries, from Milinda Siriwardana, including three fours and two sixes, in addition to the impressive Mathews threatened to take the tourists close to the target.
However, wickets fell regularly and when the skipper became Henry’s fourth victim five runs short of his century the game was over and the hosts saw it out with the New Zealand paceman able to claim his second ODI five-wicket haul.