Led by five-eighth Josh McCrone and man-of-the-match Josh Dugan, Canberra held on despite a late charge by the Roosters who had Anthony Minichiello sent off with six minutes remaining.
The victory put the Raiders equal on points with seventh-placed Brisbane and eight-placed Wests Tigers but in ninth on points difference.
A Jarrod Croker penalty after Minichiello's dismissal for an elbow to the head of rival fullback Dugan put the Raiders ahead 24-16 and Tautau Moga's athletic four-pointer with 90 seconds on the clock set up a tense finish.
The home side broke a 16-16 deadlock in the 66th minute following a Reece Robinson try when the Roosters defence allowed a cross-field kick to bounce into the winger's arms.
Blake Ferguson's long-range effort had put the Raiders ahead 16-10 in the 50th minute before Roosters back-rower Jack Bosden replied 10 minutes later, with a conversion from Braith Anasta levelling the scores.
The Roosters would have been happy when the sides went to halftime at 10-10 after the Raiders had 55 per cent of possession and nearly 200 extra running metres in the first 40 minutes.
Centre Shaun Kenny-Dowall put the Roosters ahead after eight minutes with a strong run to the tryline before the Raiders answered in the 17th minute after a sustained period of pressure in their opponent's 20m zone.
Joel Thompson was the first to cross before his second-row partner Josh Papalii barged over to truly reflect Canberra's dominance.
But Roosters lock Frank-Paul Nuuausala carried two defenders over the line following a rare entry into Raiders territory five minutes before halftime.
The Raiders face top of the table Canterbury at home next weekend and the Warriors away to finish the regular season.