Eoin Morgan hailed the "outstanding" Jonny Bairstow after his second successive century under pressure against New Zealand sent England on their way to the Cricket World Cup semi-finals.

Bairstow scored a brilliant hundred to set up a win over India on Sunday after taking a swipe at the critics who had piled into the hosts following defeats against Sri Lanka and Australia.

The opening batsman delivered again at The Riverside, striking 106 off 99 balls and laying the foundations for a crushing 119-run victory with Jason Roy (60) at the top of the order.

New Zealand could only muster 186 all out in reply to England's 305-8, Mark Wood taking 3-34 on his home ground and running out key man Kane Williamson backing up, getting his finger tips to a Ross Taylor drive.

England will face Australia or India in the last four at Edgbaston next Thursday and captain Morgan was full of praise for another hugely important knock from man-of-the-match Bairstow.

Morgan said at the post-match presentation: "I thought we were outstanding today. It started again with the two boys at the top of the order laying a good solid platform, playing in the manner that they do. Jonny going on to get a hundred was again match-winning today, it really was outstanding. 

"The wicket changed after I think the 25th over, it just started to slow up and become difficult to score quite freely. Every one of our batsman that came in after found that. 

"With so many on the board at that stage it was encouraging, but it was a matter of getting as close to 300 as possible, if not more, to be competitive.

"All pitches have gone inevitably slower and lower through the tournament throughout every game that has been played, it has been a theme of the tournament. If that continues, we will continue to bat first.

"Hopefully we can produce that positive, aggressive energy in the semi-final."

New Zealand are all-but assured of fourth place, with Pakistan highly unlikely to qualify even with a thumping win over Bangladesh at Lord's on Friday.