North Queensland's premiership defence has hit the skids after the Cowboys crashed to their third straight NRL defeat - a 22-10 loss to a Mitchell Pearce-inspired Sydney Roosters at Allianz Stadium.

The Roosters enjoyed their best win of the year on Sunday, with Pearce and Jared Waerea-Hargreaves back from injury against a Cowboys side missing hooker Jake Granville and prop Ben Hannant.

It's the first time since round three in 2015 that the Cowboys have suffered three straight losses, and if Canberra beat Melbourne on Monday night, they will be four points outside the top four with three rounds to play.

Pearce outpointed his opposite Johnathan Thurston, who still appeared troubled by a hamstring injury he suffered three weeks ago.


The Roosters pack, led strongly by Waerea-Hargreaves and Boyd Cordner, outmuscled their rivals, with Pearce and his halves partner Connor Watson able to cash in before 8,760 fans.

Ethan Lowe crossed for the visitors early, shortly after Roosters centre Dale Copley was taken off for concussion in the seventh minute and didn't return.

Copley's replacement, Ryan Matterson, replied for the Roosters in the 21st minute, with Pearce throwing the final pass.

Latrell Mitchell's conversion put the Roosters ahead 6-4 before tries to Shaun Kenny-Dowall, when the home side ran the ball on the last tackle in the 28th minute, and Boyd Cordner, who brushed his way past three Cowboys defenders close to the line, put them ahead 16-4 at the break.

Blake Ferguson was controversially denied a try by the bunker in the 33rd minute when he was ruled to have hit Kyle Feldt high before he dropped the ball and the Roosters No.1 pounced.

Mitchell scooted past Lachlan Coote on a 40m angled run to put the Roosters further ahead in the 49th minute.

Kane Linnett scored the Cowboys' second to give them hope in the 64th minute, but the Roosters defence held firm for a deserved Tricolours win, which is just their fifth of the season.