New Zealand could only manage 186 in reply as they suffered a third successive defeat of the tournament following losses to Pakistan and champions Australia — the team that beat them in the 2015 final.
One consolation for the Black Caps is that they should still join Australia, India and England in the last four as it will take a colossal change in net run-rate for Pakistan to overtake them even if Sarfaraz Ahmed’s side beat Bangladesh at Lord’s on Friday.
“I am really pleased,” said man-of-the-match Bairstow. “We knew these two games were must-win to give ourselves the best opportunity of reaching the semi-final.
“We knew the performances in the last couple of games weren’t up to scratch. To play the way we have and hopefully keep it going into the semis is pleasing.”
England are now guaranteed to finish third in the standings and so will play in the second semi-final at Edgbaston on July 11.
As things stand, they are in line to face India, currently second, but it is still possible for Virat Kohli’s men to leapfrog Australia at the top of the standings.
If England do play India it will be a repeat of Sunday’s match at the Birmingham ground when, following back-to-back defeats by Sri Lanka and Australia, they inflicted a first reverse upon Kohli’s side.
The opening semi-final between the first and fourth-placed sides is scheduled for Old Trafford next Tuesday.
New Zealand stumble
New Zealand, who would have reached the semi-finals had they won this match, saw their chase start badly when Henry Nicholls was lbw for a golden duck to Chris Woakes and decided against a review that would have reprieved him.
Martin Guptill, the leading run-scorer at the 2015 World Cup, then fell cheaply but worse followed for New Zealand when senior batsmen Kane Williamson and Ross Taylor were dismissed by contrasting run-outs.
Black Caps skipper Williamson, who came into this match with a tournament average of 113.50, fell for 27 in unlucky fashion when fast bowler Mark Wood got his fingertips to a Taylor drive and deflected the ball onto the non-striker’s stumps with Williamson out of his ground.
Taylor was far more responsible for his own exit when, deciding to go for a risky second run on 28, he failed to beat Adil Rashid’s throw from fine leg to Buttler.
After a brief stoppage when a streaker ran onto the field, the Black Caps lost Tom Latham, caught behind for 57, to leave them all but beaten at 164-7.
Earlier, Bairstow and Jason Roy (60) got England off to a flyer with an opening partnership of 123 — their third century stand in a row.
Bairstow reached his ninth one-day international hundred off 95 balls, including 14 fours and a six.