Gros Islet: England continued their prime form to beat New Zealand in the World Twenty20 Super Eights in St Lucia, knocking the Kiwis out of the tournament and putting Pakistan through.
Pakistan eliminated South Africa earlier before England secured their passage to the last four after reaching their target of 150 with five balls to spare.
Michael Lumb (32) and Eoin Morgan (40) were the top scorers for England, who were already assured a place in the semis.
New Zealand went into the game needing to win but were some way short of a challenging total despite a smart knock of 44 from Ross Taylor.
Pakistan's place in the last four was a surprise after they lost their opening games to England and New Zealand.
It was particular painful for the Kiwis who came to the Caribbean in confident mood with a full-strength squad free of injuries.
Although England lost opener Craig Kieswetter for 15 in the third over, they raced to 50 inside six overs.
England lost three quick wickets, Ravi Bopara, Lumb and skipper Paul Collingwood, to slip to 66 for four which offered some hope to New Zealand.
But Luke Wright Eoin Morgan to added 52 runs for the fifth wicket and it was left to all-rounder Tim Bresnan to help finish things off with a brisk 23.
For England, without Kevin Pietersen who is due to return from his paternity leave to rejoin the team for their semifinal, it was about keeping their positive run of form alive.
"I keep saying that in this game it is crucial you keep the momentum going and stay in winning ways and I am delighted that we did that," Collingwood said.
But for opposite number Daniel Vettori it was a bitterly disappointing end to the tournament.
"Fifty was competitive but I would say about 10 below par. We did well to fight back but Morgan and Wright's partnership took it away from us. We could have bowled better. In the end, we just haven't been able to put enough runs on the board," he said.
Brief scores
New Zealand 149 for 6 (Taylor 44
England 153 for 7 (Morgan 40)
Result England won by three wickets
MOM Tim Bresnan (England)