New Zealand overcame the early loss of Martin Guptill and with Colin Munro and Williamson putting them in a good position at 80 for two, they had the whip hand, especially with the pitch appearing to have flattened out after its first innings behaviour.
Then Munro, on 49, drove uppishly at quality legspinner Adil Rashid and Ben Stokes leapt to his left at short cover to pull in a spectacular catch.
That started a tumble as New Zealand lost four for six in 22 balls. Lefties Mark Chapman, Tom Latham and Henry Nicholls went in quick order before Colin de Grandhomme played a shocker, lofting Moeen Ali straight to long on, and at 103 for six England were firmly on top.
Williamson had his 34th ODI half century – and become the fifth fastest player to reach 5000 ODI runs – and Mitch Santner played a useful supporting role.
He survived a tight catch to Jason Roy diving forward at mid wicket, getting the benefit of the doubt from the umpires, and edging a catch to the midriff of slip off Ali, had there been a slip fielder.
They added 96 to push New Zealand within range only for Santner to be unluckily run out, when a Williamson drive back down the pitch deflected off bowler Woakes' hand onto the stumps.
Tim Southee couldn't last and with 22 needed off the last two overs, 15 off the last by Woakes, it was just beyond New Zealand's, and Williamson's reach. There was fine death bowling from Woakes and Tom Curran for England.
Earlier hopes that the Westpac Stadium pitch would play better than it looked, proved false – at least until halftime, when it seemed a different pitch had been unveiled.
When the teams met in a T20 on the same ground last month, that was the case, the pitch containing more runs, and producing a far better contest, than looked likely.
This time that was not the case, but England will have ended up reasonably happy having battled their way to 234.
The first warning came from Trent Boult's opening delivery to Jonny Bairstow, which leapt at the batsman and was popped straight up in the air, falling short of Boult's desperate follow through.
From then on it was a challenge to eke out the runs on a pitch which had erratic pace and bounce, sometimes puffing up dust or grass clippings, other deliveries ripping up chunks of turf.
And yet considering all the run-friendly surfaces around the game, having the odd one on which the batsmen has to work overtime is not necessarily a bad thing. Interestingly the latter batsmen seemed to find hitting hard and well easier than earlier in the day.
Only three England batsmen – Joe Root, Eoin Morgan and Jos Buttler - looked remotely comfortable, in different ways.
Root looked all class racing to 20 – albeit dropped by Williamson, a strange miss at mid wicket when he stretched with just his left hand at a ball flying to his right at shoulder height.
However he charged at medium pacer de Grandhomme and slapping a catch hard to mid on, to his horror.
Captain Morgan, figuring out the difficulties early, set his sights on a lengthy stay and see how things would play out.
His skill was impressive, it was a fine innings in demanding circumstances, including one mighty blow into the crowd at mid wicket off legspinner Ish Sodhi, but which ended at 48 when the admirable Southee struck his off stump.
Buttler got his 29 off just 23 balls and in comparison with the run rate over the day, it was a furious pace.
Allrounder Stokes, who invariably scores at a rapid clip, was all over the place. His first four took him 46 balls and he managed just two in his 73 balls, but he hung about which was important.
De Grandhomme was New Zealand's bowling ace. His unbroken spell of 10-1-24-1 was outstanding, doing enough to keep the batsmen watchful. One delivery lifted sharply on Stokes; another stayed down and took a chunk out of the bottom corner of his bat.
Southee was outstanding, top and tail of the innings. He and Boult kept England to 31 off the last five overs, while four wickets were lost.
Legspinner Ish Sodhi was a touch more expensive than might have been wanted but took three wickets and bowled well.
Game four is in Dunedin on Wednesday.