The win solidified the Andrew Webster-coached side in second position on 30 points, just two behind competition leaders Penrith.
The last-placed Dragons played one of their best games of the season and led 12-10 at halftime despite having just 30 per cent of the ball. The display came at a good time for Dragons head coach Dean Young with the club board meeting next week to ratify their coach for 2027.
Warriors winger Dallin Watene-Zelezniak, fresh from inking a two-year extension, scored the opening try of the second half off a forward pass from centre Ali Leiataua.
"The Warriors got a lot of stuff out there," Dragons skipper Damien Cook said.
"We come out after halftime and they throw a forward pass and we are chasing points straight away when we are in control of that game. It's not right.
"I am sorry for the fans that they have to watch that because it is happening too many times to us. I don't know if it's because we are sitting down the bottom and it is an easy one to throw off because the Warriors should win today. It's unfair and we deserve better moving forward."
The Dragons had a try disallowed to winger Setu Tu when the bunker ruled he was tackled by Warriors fullback Taine Tuaupiki before getting up to go again.
Young said the call was "a big turning point" as the Dragons would have likely scored if Tu had been made to play the ball.
Young was "really proud" of the way his side fought against a quality outfit for 80 minutes.
The visitors again were unlucky when centre Val Holmes was penalised for knocking Tuaupiki over when a kick went up. Replays suggested he had merely turned to chase the kick.
Chanel Harris-Tavita slotted the penalty for the Warriors to lead 18-12 and added another late when the Dragons were pinged for a marker infringement.
The hosts dominated territory and possession but the young Dragons forward pack, led by second-rower Hamish Stewart, defended with grit.
Winger Tyrell Sloan and fullback Clint Gutherson were superb in the air to defuse bombs.
Stewart, in the best game of his career, set up a try and scored one while making 47 tackles.
The Warriors showed plenty of grit themselves in a tight match and kept their composure in the key moments.
The hosts opened the scoring when centre Adam Pompey slid over out wide. They dominated the early exchanges but the Dragons have shown resilience in their last month of footy and limited the damage.
The visitors hit the lead when Stewart punched through the line and evergreen Gutherson loomed up to finish with panache.
Warriors winger Alofiana Khan-Pereira created a try out of nothing with a 30m dash from a standing start. Incredibly, it was his 65th try in his 64th NRL match.
Stewart then scored on the cusp of halftime with a classic dummy that fooled all of the Warriors defenders.
The Dragons, who were close to one of the upsets of the season, were unable to finish off their limited attacking opportunities in the second half.
Watene-Zelezniak had a magnificent match with his back-field runs and tough carries to help the forwards, yielding 229m from 22 runs.
Dragons twins Toby and Ryan Couchman made a combined 293m and 101 tackles in stellar forward displays.