In reply, New Zealand started slowly but powerhouse batter Glenn Phillips was given a lifeline when Moeen Ali dropped a sitter in the 10th over when he was on 15.
Williamson’s innings of 40 off 40 balls did his side no favours as the required run rate crept up.
Once Sam Curran dismissed Phillips for 62 (off 36 balls), the Kiwi run chase stuttered as England’s bowlers put the clamps on.
The result means New Zealand, England and Australia are all on five points in Group 1, but with vastly different net run rates.
New Zealand (+2.233) has by far the best net run rate, followed by England (+0.55) and Australia (-0.304).
All three teams will go into their final group stage matches as heavy favourites, meaning Australia will need to thrash Afghanistan on Friday night and rely on other results falling their way.
New Zealand play Ireland on Friday and England will know what is required of them when they take on Sri Lanka on Saturday.
Group 2
Group 2 standings. Photo / ICC
South Africa are in pole position to advance into the semifinals following their win over India on Monday.
Victory in one of their remaining two matches against Pakistan and the Netherlands, who have already been eliminated from semifinal contention, would all but secure their path into the final four.
India will be favourites to also advance but face Bangladesh in a crucial clash on Thursday, with both teams needing two wins in their remaining matches to guarantee qualification.
How net run rate is calculated
Net run rate in a single game is the average runs per over that team scores, minus the average runs per over scored against them.
In a tournament, net run rate is calculated by the average runs per over that a team scores across the whole tournament, minus the average runs per over that is scored against them across the whole tournament.
If a team is bowled out inside their allotted overs, their run-rate is calculated by dividing runs by the maximum overs they could have batted – 20 overs in this case.