Group B, Benoni: New Zealand 197-5 (23 overs) beat Canada 196 all out (47 overs) by five wickets
New Zealand overcame a scare to keep their hopes of a Super Six berth alive with a five-wicket win against Canada.
The Black Caps improved their net run-rate after an unbeaten 54 from Scott Styris led them to victory in the 23rd over.
They will progress regardless if Sri Lanka beat South Africa later on Monday, but if the tournament hosts win, run-rate will be the crucial factor.
John Davison was a thorn in the Kiwis' side, clubbing 75 off 62 balls before taking three wickets in a brilliant all-round display.
And a shock New Zealand defeat had looked possible when they slumped to 32 for three after setting off at breakneck pace.
The mindless run-out of skipper Stephen Fleming in the second over kick-started a frenzied period for New Zealand.
Nathan Astle and Craig McMillan both underestimated Davison's thoughtful off-spin and perished to the cause.
The triple blow did absolutely nothing to stifle their intent, with Chris Cairns and Andre Adams putting on 65 runs in 40 balls.
Davison was in ruthless touch early in the innings
But both fell in quick succession, reducing New Zealand to 114 for five and swinging the balance back in Canada's favour, before Styris and Chris Harris put on 83 unbroken runs to quash any prospects of an upset.
Earlier, Davison punished New Zealand's attack in the same merciless fashion that earned him the fastest World Cup century against West Indies.
He belted both Andre Adams and Jacob Oram out of the attack with a withering early onslaught.
The experiment to give Adams the new ball lasted three overs and 31 runs as Davison gorged on a feast of short-pitched bowling.
Oram fared worse, leaking 23 runs in two overs including three soaring sixes over mid-wicket.
Davison's fifty, scored in 26 balls, was passed with the third and most impressive six, launched over mid-wicket and out of the stadium.
Canada would have liked Davison to linger, but he holed out at long-on in the 23rd over to make Harris the Kiwis' leading wicket-taker in World Cups.
It left Canada on 98 for four and bereft of their most potent weapon.
But where earlier in the tournament a full-scale collapse may have followed, Canada's lower order stuck to the task admirably.
New Zealand: C D McMillan, S P Fleming (capt), N J Astle,
S B Styris, C L Cairns, C Z Harris, B B McCullum, A R Adams
J D P Oram, D L Vettori, S E Bond.
Canada: I Maraj, J M Davison, N Ifill, I S Billcliff, N A de Groot,
J V Harris (capt), A Bagai, A M Samad, A Codrington, A Patel
B B Seebaran.
Umpires: A V Jayaprakash, B G Jerling.