The Warriors have beaten an injury-hit Newcastle 24-20 in Auckland to maintain their momentum in the NRL with their third victory in a row.
However, it was another close-run thing for the Warriors, whose last five matches have now been decided by four points or fewer.
Newcastle winger Akuila Uate’s second try, when he powered over from dummy half with five minutes to go, was converted to make for a grandstand finish.
But the Warriors were able to hold out to prevent Newcastle from doing the double over them this season.
The Knights made three late changes to their starting 13, with skipper Kurt Gidley (thigh), prop Kade Snowden (neck) and lock Jeremy Smith (sternum) ruled out.
They were down to a three-man bench within five minutes after halfback Tyrone Roberts limped off with an ankle injury.
The Warriors struck immediately in front of a crowd of 13,203 with a Shaun Johnson break ending with centre Tuimoala Lolohea scoring.
When winger Manu Vatuvei climbed above Uate to dot down, the home side were out to a 10-0 lead and looking comfortable.
However, after a Warriors mistake deep in their own territory, Knights fullback Dane Gagai scored from the ensuing scrum, his speed putting him into a hole.
Newcastle thought they had made it a quick double, but winger James McManus was called back after an 80-metre run for an earlier Knights tackle that got them the ball.
Instead, prop Ben Matulino crashed over to extend the Warriors’ lead, before Uate got one back on Vatuvei by scoring in his marker’s tackle.
With the home side up 14-8 at halftime, centre Solomone Kata gave them some breathing space when he busted the line to grab his ninth try of his debut season.
The Knights, who had lost six of their previous seven matches, refused to go away and McManus did get his try to close the gap.
But the Warriors struck back with 12 minutes to go, a Bodene Thompson bust and Johnson kick into the in-goal finished off by winger Jonathan Wright.