Dhoni's decision at the toss paid an immediate dividend when Martin Guptill completely missed the second ball of the match from Umesh Yadav to continue his lean run of form.
The ball was a fine one, moving off the pitch to hit off stump but Guptill's defensive stroke was nowhere near the ball.
Lefthander Latham maintained his impressive form on tour with a tidy 46, but Williamson struggled early on.
The runs came briskly enough but Williamson was out of sorts around his off stump in the early stages, before getting better as he progressed.
He did have two lives, being dropped at 46, by Hardik Pandya, a hard low chance at deep mid off from Jasprit Bumrah, and 59, a bad miss by Dhoni off spinner Axar Patel, his glove positioning poor.
But Williamson kept pressing, unfurled a stream of fine drives and clips through the on side and completed an outstanding hundred off 109 balls with 13 fours and a six.
He joins former captain Stephen Fleming on eight ODI centuries for New Zealand, with only Nathan Astle (16), Ross Taylor (15) and Guptill (10) ahead of him.
Williamson also battled fatigued and problems with his left arm which required constant treatment.
Taylor's search for form in India continued. He got to 21 but it was a laboured innings and New Zealand's run rate took a dive while Taylor scratched about.
At one point New Zealand managed just 11 runs off 25 balls.
Eventually Taylor holed out to deep mid wicket, ending a 42-ball struggle.
Corey Anderson shared a 46-run stand with his captain but big shots were difficult for the allrounder to find, making 21 off 32 balls before going lbw to legspinner Ami Mishra.
That started a slump as Williamson, caught off a tired lofted shot at long off, Luke Ronchi, Anton Devcich and Tim Southee departed in quick order - five wickets for 21 in 31 balls.
Ronchi was caught at the wicket, Devcich fell to a fine one-handed catch by Axar Patel at short fine leg and Southee was superbly yorked by Jasprit Bumrah.
Bumrah was outstanding and reinforced the view he may be the best death bowling exponent in the short forms of the game, finishing with three for 35 off 10 overs, which included a burst of three for five in 14 balls.
Legspinner Mishra copped some early punishment but had good reward, while left arm spinner Patel started sloppily but improved.
The average first innings score at the Feroz Shah Kotla in a day-nighter is 229 which should give New Zealand a degree of confidence.