Karadeniz netted with 17 minutes to go to earn the Russian champions their first win in Group F and inflict a first competitive defeat over Barcelona since May.
It was also the first European defeat Pep Guardiola’s men had suffered since losing at home to Shakhtar Donetsk last December having already qualified for the last 16.
An upset had been on the cards from the opening two minutes when Rubin took the lead through Alexander Ryazantsev’s long-range piledriver out of the blue, and although Barca levelled up through a fine Zlatan Ibrahimovic goal just after half-time, it was the visitors who went on to claim a memorable victory thanks to Karadeniz.
Elsewhere in Group F, Serie A leaders Inter Milan twice came from behind to earn a 2-2 draw with Dynamo Kiev at the San Siro.
Taras Mykhalyk put Dynamo in front and after Dejan Stankovic had equalised, Ferreira Lucio headed into his own net to give the visitors a 2-1 half-time lead.
Walter Samuel equalised less than two minutes into the second half but neither side was able to find a winner despite a number of chances.
Rangers’ Champions League aspirations are in tatters after an embarrassing 4-1 defeat to Unirea Urziceni at Ibrox.
Pedro Mendes’ second-minute drive, which took a deflection off Unirea midfielder Ricardo Vilana before going in, gave the home side the perfect start.
However, in a bizarre night of football in Govan, the Light Blues proceeded to concede four goals, two of them own goals, while missing a penalty at 1-1.
After Marius loan Bilasco equalised just after the half-hour mark, Steven Davis had a spot-kick saved by Unirea keeper Daniel Tudor.
Half-time substitute Kyle Lafferty, on for Mendes, helped a Bruno Fernandes flick past Allan McGregor and into his own net before Lee McCulloch left his McGregor stranded with a header just before the hour mark.
More woe followed when Pablo Brandan made it four to send the home fans heading to the exits with 25 minutes remaining.
Fiorentina edged a seven-goal thriller against Debrecen in Budapest to keep up the chase of Lyon at the top of Group E.
Peter Czvitkovics opened the scoring in the second minute, but two goals from Adrian Mutu and an Alberto Gilardino strike turned the game on its head before 20 minutes had even been played.
Gergely Rudolf reduced the arrears once again in the 28th minute, but Mario Santana restored Fiorentina’s two-goal cushion in the 37th minute before Adamo Coulibaly made it a nervous ending for the Italians with his side’s third in the 88th minute.
Sevilla recorded a third successive victory, at the expense of Stuttgart, their 3-1 win continuing their perfect start in Champions League Group G.
Olympiacos claimed a barely-deserved 2-1 victory over Standard Liege thanks to a stoppage-time goal from substitute Ieroklis Stoltidis.