An under-strength Warriors line-up have turned around a sorry week for the NRL club with a morale-boosting 26-10 upset over St George Illawarra in Auckland.
The Warriors scored four tries to two, with two players not originally selected, Matthew Allwood and Jeff Robson, getting four-pointers.
The Warriors had 10 players unavailable through either injury or being dumped to reserve grade for breaking team protocol.
They were also backing up from a limp 42-0 defeat to the Storm and facing opponents they had lost to in their previous 11 meetings.
But a line-up stacked with fringe players, given a big cheer by the 12,752 crowd when they ran out, showed plenty of endeavour in a clash between two sides sitting outside the top eight.
After an early Gareth Widdop penalty, the Warriors hit the front when Shaun Johnson jinked his way over.
But the hosts kept handing the Dragons field position with mistakes and indiscipline and were made to pay when Euan Aitken crossed.
The home side went back into the lead when Allwood finished off a neat backline move and then benefited from a big call by the bunker.
Widdop had earlier had a try rubbed out because of obstruction.
This time it was Benji Marshall, in lively form on his return from a hamstring injury, who was denied after Warriors skipper Ryan Hoffman was deemed to have been impeded.
From the resulting penalty, the Warriors swept upfield and prop Charlie Gubb barged his way over.
The Dragons struck back to trail 18-10 at halftime after Marshall and Widdop’s slick combination produced a simple finish for Kalifa Faifai Loa.
After being almost mistake-free in the opening spell, the visitors started coming up with errors.
One fumble on their goal line midway through the second half allowed Robson to score under the post.
Johnson’s fourth conversion and a late penalty sealed just the Warriors’ fourth win of the season.