London: Santner and Henry got off the mark with singles and combined for 20 runs in less than three overs. Then Henry was bowled for 6 with New Zealand needing seven to win with two wickets left.
Santner and Lockie Ferguson held their nerve, and the end came in a rush thanks to two wides, a Ferguson tickle to the third man boundary, and a Santner boundary through the covers to complete the victory with 17 balls to spare.
New Zealand's second win from two matches put it at the top of the standings.
Bangladeshis packed the Oval in hopes of a double celebration beside Eid al-Fitr, the holiday marking the end of Ramadan, but they had little to cheer in the first half of the match.
Bangladesh was bowled out for 244 inside 50 overs, put in on a fresh pitch which was slower than expected.
The top five batsmen all made starts but invariably got themselves out under pressure to escape New Zealand's grip.
Shakib Al Hasan, the third Bangladeshi to play 200 ODIs, top scored with 64. He was the only batsman to make more than 30.
The New Zealand battery, backed up by smart fielding, was disciplined and Henry returned 4-47. Trent Boult earned a pair, while Ferguson, de Grandhomme, and Santner bagged one each. They all deserved them.
Santner, the slow left-armer, was unhittable through the middle overs, not conceding a boundary until his ninth over, and the only six of the match in his 10th.
Bangladesh's innings turned on Mushfiqur Rahim's run out.
He and Shakib struggled initially, three days after their record century stand against South Africa. Overs 10-20 gave up only 33 runs.
But Shakib broke out when he hit medium-pacer Neesham for three consecutive boundaries. Neesham wasn't used again.
Mushfiqur and Shakib were set and rolling and brought up their 50 partnership, when Mushfiqur ran himself out on 19. Shakib could take some of the blame for calling the run then changing his mind when he saw Martin Guptill swoop on the ball.
Shakib was shaky between the wickets. He almost ran out Tamim in the 12th over, and himself in the 22nd.
He had some making up to do, and hit his third half-century in four matches, but he was out for 64, trying to cut medium-pacer de Grandhomme only to edge to Latham standing up at the wickets. The run rate dropped below 5 and stayed there.
In trying to hit away, the rest of the Bangladesh lineup hit out. Henry took the last two wickets in two balls, and there were four balls left over.
New Zealand was cruising in its chase, after a dramatic start.
Shakib removed openers Martin Guptill (25) and Colin Munro (24), and should have had captain Kane Williamson run out on 8 while he was bowling.
Williamson was out by more than a foot when the bails were taken out, but video showed wicketkeeper Mushfiqur knocked off the bails with his right arm before he caught the ball. Williamson stayed.
Meanwhile, Ross Taylor, while on 10, survived being run out by a centimeter. He was fortunate the throw to Mushfiqur was too high.
Taylor and Williamson got their running sorted out, settled down, and reached their 26th partnership of 50-plus in ODIs, equaling the New Zealand record.
Taylor played the aggressor, while Williamson was happy pushing singles and twos, knowing the run rate required wasn't taxing.
Their partnership of 105 made Bangladesh wilt until Williamson tried to flick Mehedi Hasan one-handed and looped the ball straight to hands at deep midwicket. He was out for 40.
Latham followed for a duck, but Taylor pressed on. He was on 82 when he edged behind with a faint nick and immediately walked.
Neesham and de Grandhomme looked like getting New Zealand home safely until they were out in consecutive overs.
Santner stayed cool, and helped Ferguson get the Kiwis home.
New Zealand improved to 5-0 against Bangladesh at the World Cup, batting second each time.