The Warriors were dominant early, taking a 12-4 lead into halftime through James Gavet and David Fusitua's brilliance. They would be the only two tries of the match for the hosts, but proved crucial as the match tightened in the second half. The Tricolours had got on the board through Joseph Manu just before the half hour mark but a professional foul a few minutes later by Daniel Tupou saw the Roosters' winger sin-binned which led to Fusitua's try.
A big second forty was needed from the Roosters and they were first on the board after the resumption, with Shaun Kenny-Dowall scoring a long-range intercept try before almost going over again not long after.
Trailing 12-10, the Roosters took the chance for a two-pointer in the 57th minute after the Warriors were pinged for offside. Michael Gordon calmly slotted the goal to level proceedings at 12-all. Cue an arm-wrestle for the remaining 20 minutes.
Mitchell Pearce appeared to be the hero with a field goal in the 76th minute, having missed a shot just moments earlier. Heroes often turn to villains in footy though - and such was the case with Pearce tonight, penalised a minute later when he was caught laying in the ruck. Shaun Johnson maintained his perfect record in attempting a penalty goal which saw the Warriors go in front 14-13. A short kick-off failed for the visitors and the home side kept the one-point margin through to the siren.
The loss is the Roosters' third of the season and sees them slide to fifth ahead of their next game, where they host the Eels at Allianz Stadium in a fortnight. The Warriors are off to Pepper Stadium to face Penrith after the rep round.