It took a last-quarter flurry in the space of two minutes to have the crowd vocal and on their feet.
Ireland had made a bold statement with a 1-0 lead at halftime despite the hosts dominating possession.
The goal came in the 13th minute from a high-fiving Nicola Evans following a goalmouth melee.
Earlier, New Zealand striker Olivia Merry scored in about the fourth minute from a deft cross from the corner with a defender and the goalkeeper, Ayeisha McFerran, in the way but the referee disallowed the goal.
New Zealand lynchpin Anita Punt levelled terms, 1-1, just 90 seconds into the second half after flicking the ball into the roof of the Irish net folling a penalty corner.
New Zealand's Stacey Michelsen made it 2-1 in the 52nd minute from the left flank after drilling the ball shoulder high.
The stung Irish were still coming to terms with that when Michelsen became provider to Charlotte Harrison, playing her 200th international, a minute later to extend the lead to 3-1.
Captain Megan Frazer and her gallant women fought to the bitter end but it was to no avail for the non-Rio Olympic bound side.
Before the game, the Kiwis were locked in a six-point tussle in pool B but had a poor goal average to China who were perched on the top rung.
However, a draw or win tonight against the Irish would have assured them top-qualifying status.
That means if everything follows the script then captain Samantha Charlton and her troops will be on track to play Australia in the semifinals provided, of course, they win their quarterfinal.
The Aussies, leaving coach Adam Commens seething, have finished second in their pool A after Japan secured the top rung and in the process have confirmed their quarterfinal match against last-placed India in pool B.
Japan had the same number of points and goal average but had scored more goals -- 10 to Australia's 7.
In the other quarterfinals on Thursday, Japan play last-placed India, China face non-Olympians Canada and defending champions Australia will cross sticks with Ireland after their 4-0 win today against Canada