The Bati were incredible from start to finish throughout the contest, and it was only in the final ten minutes of the contest that the Kiwis were able to take the lead, and avenge the defeat they suffered at the hands of the Bati during the 2017 quarter-final in Wellington.
With the score locked at 18-all heading into the final ten minutes of the game, it was a controversial captain's challenge as Joseph Manu was ruled to have had the ball raked out, rather than dropping it cold, which allowed the Kiwis to hit the lead with a penalty goal off the boot of Jordan Rapana.
Rapana himself would score the final try in the final minute of the game to stop any chance of a late Fijian fightback after the Bati couldn't capitalise on a number of sets on the Kiwi line.
Sivo's effort on the left edge in the 11th minute of the game saw him bulldoze the defence, before Kevin Naiqama, in what has turned out to be the final game of his career, ran a perfect line on the right-hand side, set up by the excellent Sunia Turuva for the second try.
Sunia Turuva, who was easily the best on ground for the Bati, led the way, while the forwards were able to hold their own against the Kiwis' fearsome pack of forwards.
Briton Nikora's try in the 48th minute just minutes after Fiji's third try would prove costly as a defender fell off a two-man tackle, before Joseph Manu scored for himself in the 62nd minute to tie the game up.
The Kiwis now take on Australia in next weekend's semi-final.
New Zealand 24 (Tries: Ronaldo Mulitalo, Briton Nikora, Joseph Manu, Jordan Rapana; Conversions: Jordan Rapana 3/4; Penalty goal: Jordan Rapana 1/1) defeat Fiji 18 (Tries: Maika Sivo, Kevin Naiqama ; Conversions: Brandon Wakeham 3/3)