New Zealand benefited from a controversial penalty en route to a 24-18 defeat of Fiji after rallying to avoid a repeat of their quarter-final exit to the Bati at the previous Rugby League World Cup.

The Kiwis booked a mammoth last-four meeting with defending champions Australia but only after staring down another shock loss to Fiji in Hull.

The sole previous meeting between the sides had also come in the quarters five years ago, with New Zealand on the end of a 4-2 upset.

It quickly became clear this would not be another low-scoring affair, albeit only because Fiji raced into a 12-0 lead with a pair of superb tries from Maika Sivo and Kevin Naiqama.

Even when Ronaldo Mulitalo got the world's top-ranked side on the board, Naiqama ran in again after half-time to restore the underdogs' advantage.

But the Bati could not hold out, with Briton Nikora's response followed by a levelling try from Joseph Manu with 18 minutes to play.

Manu was involved again in the game's decisive moment as Fiji were harshly punished for a supposed strip that allowed Jordan Rapana to kick a penalty, putting New Zealand in front for the first time before the same man added a try at the death.