Rubin captain Christian Noboa fired the home side in front with virtually the last kick of the first half when he converted a penalty in added time after English referee Martin Atkinson had penalised the visitors for a handball.
It was only the second goal scored by the Russians in their five group matches. Ecuador international Noboa converted a spot-kick in a 1-1 home draw with Barcelona in September.
Despite the defeat the Danish champions, who finished bottom of the group on their only previous Champions League appearance three years ago, remain on track to advance to the round of 16 for the first time along with Group D leaders Barcelona.
Second-placed Copenhagen lead Rubin by a point with the last round of matches still to come.
Copenhagen coach Stale Solbakken blamed the defeat on the penalty.
"We defended very well and the penalty was just stupid. We have several good chances in the second half and deserved at least a point from this game," he told a news conference.
The first half was a drab affair with neither team making a single shot on goal.
Rubin, missing their most expensive import in Brazilian striker Carlos Eduardo, who joined from Bundesliga side Hoffenheim for 20 million euros in the summer transfer window through injury, clearly lacked the finishing touch up front.
Both teams picked up the tempo after the break, however, with Copenhagen pushing forward in search of an equaliser.
Senegalese forward Dame N'Doye, who scored a late winner for Copenhagen when they beat Rubin 1-0 at home in their group opener in September, came close to an equaliser when he rattled the crossbar with a powerful drive midway through the second half.
Copenhagen had another good chance late in the game when substitute Kenneth Zohore fired straight at Rubin keeper Sergei Ryzhikov from 12 metres.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.