World No.1 New Zealand have stumbled into the Rugby League World Cup semis, barely avoiding a second straight quarter-final upset by Fiji at Hull.
Conceding the first two tries of the game and trailling 18-6 early in the second half, NZ Kiwis had to dig deep to pull back the deficit, finally taking a controversial lead inside the last 10 minutes and clinching the contest 24-18 on the final siren.
With the Kiwis struggling to find a goalkicker throughout the tournament, veteran winger Jordan Rapana stepped forward to convert three of his side's four tries and slot the late go-ahead penalty, then crossing for the final try.
Five years ago, the Bati shocked the Kiwis at the same stage of a World Cup co-hosted in New Zealand and Australia, and while coach Michael Maguire denied that memory still haunted his team, it didn't take long for the nightmare to resurface.
The NZ side had looked listless in their previous three pool outings, flattering to deceive against lightweights Lebanon, Jamaica and Ireland, despite a roster stacked with NRL stars.
They began the knockout encounter the same way, squandering several prime attacking opportunities with needless penalties that gifted their opponents field position early.
Fiji opened the scoring through powerhouse winger Maiko Sivo, who found space on the left touchline and is simply unstoppable that close to the corner.
They struck again moments later, when veteran centre Kevin Naiqama ran in infield angle to leave the NZ defence grasping at air.
Two converted tries down, the Kiwis finally capitalised on their opportunities, putting Ronaldo Mulitalo over in the left corner, with Rapana adding the important extras.
If Maguire sought to light a fire under his team at the break, it didn't show, as Naiqama grabbed a second try soon after the restart and New Zealand looked in deep trouble.
The road to their salvation began in unlikely circumstances, with second-rower Briton Nikora held up metres from the tryline, but Fijian playmaker Api Koroisau falling off the tackle in an attempt to strip the ball.
The ploy backfired, as Nikora overpowered the lone remaining tackler to score and the comeback suddenly found momentum.
The Kiwis continued to waste their attacking chances, but had broken the back of the Fijians and drew even, when Mulitalo threatened down the left and found fullback Joseph Manu powering up the middle in support to score.
Rapan had slotted both conversions and put his team ahead with a marginal penalty awarded when Fijian forward Viliame Kikau was deemed to have stripped Manu in a three-man tackle. Replays suggested a loose carry, but officials through otherwise.
With time running out, Fiji charged up the other end and had a big chance, when Sivo's kick deflected forward off NZ centre Peta Hiku to Rapana standing offside. From the ensuing scrum, the Bati tried a tricky move, but Koroisau's pass to half Brandon Wakeham was spilled.
The Kiwis broke quickly from their own half, with half Jahrome Hughes, lock Joseph Tapine and hooker Brandon Smith went close, before releasing the ball to Rapana for his clincher.
"I don't have any hair left to lose," admitted Maguire. "It was a close one.
"We expected that. Fiji are very patient with how they go about things and we all know what they can do.
"It was a good battle and a bit of a wake-up call for us to look at moving forward.
"I always felt like I had the team to [come back], but obviously we put a lot of pressure on ourselves. We forced a few passes we didn't need to and relieved some of the pressure we were applying... but I thought our team held together at the back end for the win."
New Zealand now prepare for their much-anticipated semi-final showdown with reigning champions Australia, who progressed to the final four with a 48-4 romp over Lebanon.
NZ 24 (Mulitalo, Manu, Rapana & Nikora tries; Rapana 3 conversions & penalty) Fiji 18 (Sivo & Naiqama 2 tries; Wakeham 3 conversions)
Join us next Saturday for live updates of the Kiwis v Australia Rugby League World Cup semi-final