Penrith, chasing a first 3-0 start to a season since 1997, soon found themselves 8-0 down when James Maloney converted a penalty before a moment of magic from Josh Mansour got them on the scoreboard.
Returning to the side following off-season shoulder surgery, Mansour hauled in a Peter Wallace kick, then kept his feet in play and shovel-passed to the onrushing Jamal Idris.
Matt Moylan's sideline kick cut the deficit to two points at halftime only for Ferguson to extend the hosts' lead five minutes after the restart.
A wayward pass from Mitchell Pearce hit the ground but Ferguson reacted quickest to gather the ball and sprint to the line.
He doubled his tally just after the hour mark when the Roosters took advantage of a James Segeyaro's knock-on and spread the ball wide for the former NSW centre to apply an easy finish.
Segeyaro atoned for that error with a try under the posts 13 minutes from time but a grandstand finish never materialised as the Roosters defence held firm.
Roosters coach Trent Robinson was pleased with his side's improved defensive efforts after shipping 32 points to the Rabbitohs last week.
"There was enough pressure applied through our 'D' for the most part," Robinson said.
"There were probably three lapses ... but it was much better."
Panthers coach Ivan Cleary did his best to hide his frustration over the no-try decision as his side slipped to their first defeat of the season.
"I thought it was a try," Cleary said. "If you have to have a video then I like the system. I've never been a fan of the video because they don't necessarily get it right.
"But I like the fact referees make a call."
Robinson said he was unsure if the call went in his side's favour but echoed Cleary's support for referees to make an on-field judgment before sending the decision upstairs.
"I thought it was close, but as soon as they awarded no try it wasn't definitive," he said.
"It looked like it bounced live ... we kept looking for one or another and that is as fair as a description as I can give it."
- AAP