Arsenal lost their 100% record in Group G of the Champions League as they slipped to defeat away at CSKA Moscow.
Carvalho celebrates scoring his first goal in the Champions League
Brazilian midfielder Daniel Carvalho got the only goal of the game, rifling home a free-kick from 20 yards after Kolo Toure had brought down Dudu.
CSKA were good value for their win and could have scored more, Jens Lehmann saving from Carvalho and Vagner Love having a goal ruled out for offside.
Gilberto Silva and Thierry Henry were also denied goals by a linesman's flag.
CSKA knew a win would take them above Arsenal to the top of Group G and they began brightly, knocking the ball around with freedom in the freezing Moscow evening.
Tomas Rosicky was busy pulling the strings for the Gunners, though several good early openings failed to turn themselves into chances as Arsenal struggled in the final third.
CSKA were causing plenty of problems for the visitors with Dudu and Carvalho a constant threat and halfway through the first half the Brazilians conjured an opener.
Have Your Say on 606: Give your thoughts on the match
A fine move was brought crashing to a halt on the edge of the Arsenal box when Toure fouled Dudu and Sergei Ignashevich teed up Carvalho to drill left-footed through the wall and past a helpless Lehmann.
The lively Carvalho nearly doubled their advantage shortly after, his dipping 25-yard volley forcing an acrobatic tip over from the increasingly-agitated Lehmann.
Arsenal were suddenly on the ropes and Yuri Zhirkov scampered away down the left and crossed for Vagner Love to fire past Lehmann, this time a linesman's flag saving Arsene Wenger's side.
As Arsenal searched for an equaliser Van Persie was presented with two fine openings, but he wasted the first with a woeful pass to William Gallas and the second by allowing Igor Akinfeev to grab the ball at his feet.
If the game was played at a quick tempo in the first half, the pace was electric after the break, with both sides producing some fast, fluent football.
Alexander Hleb marginally failed to play in Henry at one end, while Carvalho screwed a shot wide at the other.
Arsenal were being uncharacterisically careless at the back and Johan Djourou was bailed out by a fabulous last-ditch Gallas tackle after his slip let in Vagner Love.
Moments later it was Djourou to the rescue with a fine block on Dudu after CSKA had carved Arsenal open down the left.
It looked like Arsenal had got an equaliser when Henry controlled a cross into the box and fired home late on, but to the Frenchman's horror, the assistant referee flagged for handball.
It was Arsenal's last chance as CSKA held on for a well-deserved three points.
CSKA Moscow: Akinfeev, Vasili Berezutsky, Semberas, Alexei Berezutsky, Aldonin (Krasic 90), Ignashevich, Rahimic, Zhirkov, Vagner Love (Olic 85), Dudu, Daniel Carvalho (Taranov 88).
Subs Not Used: Mandrykin, Kochubey, Salougin, Grigoriev.
Booked: Rahimic, Ignashevich, Vagner Love.
Goals: Daniel Carvalho 24.
Arsenal: Lehmann, Hoyte, Toure, Djourou (Clichy 75), Gallas, Hleb, Fabregas, Silva, Rosicky (Walcott 80), Henry, Van Persie (Adebayor 68).
Subs Not Used: Almunia, Denilson, Song Billong, Aliadiere.
Ref: Manuel Enrique Mejuto Gonzalez (Spain).