Jake Ball, who removed Luke Ronchi for a golden duck, was awarded the man of the match for his spell with the new ball.
Victory saw England, who beat Bangladesh by eight wickets at the Oval in their Group A opener, into the last four of a tournament featuring the world's top eight one-day global teams regardless of the result of their last pool fixture against arch-rivals Australia at Edgbaston on Saturday.
Joe Root top-scored with an impressive 64 - his 32nd fifty in 85 ODIs - as England posted an all-out score of 310 after losing the toss. "The new-ball bowlers set the tone". "We want to fulfill our potential".
Meanwhile Williamson, fined 40 percent of his match fee for New Zealand's slow over-rate, accepted his side had been well-beaten. In all areas, England outplayed us today.
For Ball, who had expensive figures of one for 82 against Bangladesh, this was a welcome return to form.
Liam Plunkett bowled emerged as the leader of the pack as he gobbled up four wickets and broke the back of the Kiwis batting order.
The No.3 accumulated a solid fifty from 66 balls without ever dominating and was undone by a snorter from Mark Wood which bounced off his gloves to the keeper.
Then came in skipper Kane Williamson (87 off 98 balls) and he showed intent. Taylor hit Ball to Root at midwicket and a collapse was complete when Tim Southee (2-44) was caught at deep midwicket to become Plunkett's fourth scalp.
On a short-boundary pitch, England risked a second spinner by bringing Adil Rashid in for the injured Chris Woakes.
The day began on a sombre note when play was stopped after six overs at 11am local time (1000 GMT) for a minute's silence to remember the victims of Saturday's militant attack in London.
In-form Root looked to continuing from where he had left off against Bangladesh. Trent Boult was not out on 0.