New Zealand play Bangladesh, whom they beat 3-0 in an ODI rubber at home last summer, then split two matches in their tri-series in Ireland immediately preceding the Champions Trophy, on Friday night, also in Cardiff.
England, already sure of a spot in the last four, play Australia at Edgbaston 24 hours later.
New Zealand must hope England, who have now won 10 of their last 11 ODIs, maintain that form and beat Australia, while they defeat Bangladesh.
The chase, on a cool, blustery day, began badly when Luke Ronchi was bowled by the first ball he faced from out-of-sorts seamer Jake Ball, who was man of the match. It continued a grim run for the wicketkeeper when opening against England - 0, 2, 22, 2 and 0.
Martin Guptill slapped allrounder Ben Stokes to the mid wicket fence, then edged the next ball to third slip.
Williamson and Taylor then set out restoring the innings.
They had to cope with a pitch, freshened by light rain and which made life dicey at one end.
Williamson was struck solidly on his left temple by a lifter from Liam Plunkett, who then had Taylor, still on 0, rattled by another nasty lifter in the same over.
But Williamson is a class act and after taking his time settling in, and finding the door closed on his favoured dab to third man to kept the board ticking, bided his time.
He then unfurled some delightful shots and appeared to be speeding towards a second consecutive century in the tournament when he was out to a nasty ball he could only edge to the wicketkeeper.
It all went wrong from there.
Taylor, not at his best but still scrapping hard, slapped a catch to short mid wicket; Jimmy Neesham clouted Plunkett for six to mid wicket, tried a repeat next ball and was caught at deep square leg; Neil Broom went leg before to legspinner Adil Rashid trying to sweep; and Mitchell Santner was hopelessly stumped, missing a wide full toss from the spinner.
England's seamers, Ball, Plunkett and Wood did an outstanding job, getting some help from the pitch and sticking to their job as Williamson and Taylor appeared poised to push New Zealand ever onwards to the target.
New Zealand would have been reasonably pleased at the halfway mark.
Since their humiliating tumble against New Zealand at the 2015 World Cup in Wellington, England have produced some outstanding ODI cricket.
Before today, on 22 occasions, they have gone past 300 runs. Today was No 23. They have quality batsman who have mastered the art of scoring fast.
But they rather botched the chance to really hurt New Zealand. It's a sign of the modern one-day game that 300 is almost expected, other than in extreme conditions.
There was scarcely a skerrick of swing with the new ball for Trent Boult and Tim Southee.
Left armer Boult wasn't at his best but Southee did a solid job throughout the innings.
England didn't get off to a flier as opener Jason Roy is woefully out of touch. That situation continued as Roy lost his leg stump to quick bowler Adam Milne after struggling.
The best batting of the innings came from opener Alex Hales and Joe Root. The pair put on 81 impressively, ensuring England were up at five an over by the 20th.
Root again demonstrated not only that he's among the game's true batting elite, but is also in fine touch.
But Hales, having smeared Milne over the boundary at long off, was tricked by a slower ball next delivery and departed at 118.
Root and boom allrounder Ben Stokes threatened to pick New Zealand apart. The pair put on 54, but an odd situation developed.
Root, sailing along, couldn't get as much strike as he'd have wanted and Stokes became becalmed against some full, wide seam bowling, notably from Southee.
The result was Root, on 64, had a slog at Corey Anderson and dragged the ball onto his stumps. He had faced just 15 balls to Stokes' 40 while they'd been together.
When England reached 40 overs they were at 221 for five and took 89 off the last 10, with wicketkeeper Jos Buttler the key figure.
He finished unbeaten on 61 off 48 balls, sharing decent late stands of 30 with Rashid off 21 balls, and 49 with Plunkett off 30 balls.
The last three wickets fell in four balls, as New Zealand kept Buttler off strike.
There had clearly been smart planning as the bowlers sent down a pile of short pitched balls to try and negate the short straight boundaries and force the batsmen to go to the longer, square boundaries.
Milne was pricy, but effective early on, while Anderson's Golden Arm reputation remains intact. Southee did a good job, as did Santner. The fielders stuck to their job in difficult, gusty conditions.
Williamson had no gripes at the outcome, accepting the better team had won, and praised England as the best team at the rain-hit tournament so far.
"In all areas England outplayed us today," Williamson said.
"It was very tough out there but credit to the way they went about their business, especially with the ball. They didn't give us a lot and deserve everything they got today."
He said the plan for Taylor and himself was to try to increase the run rate to make the final push in the closing overs a bit easier for the later batsmen.
"But it was a tough surface to start on when we did lose wickets.
"England used the dimensions of the ground really well, the wind was a factor and they bowled well on the pitch."
As for being struck on the side of his head by a sharp lifter from Wood: "That's the game," he said ruefully.
"It wakes you up a little bit. It was a bit two-paced, a bit up and down and you had to watch the ball hard. I probably didn't watch it as hard as I should have."