(CNN) -- Arsenal have secured their passage to the knockout stages of the Champions League with a 3-1 win over Partizan Belgrade in Group H.
Theo Walcott came off the bench to score a crucial second-half goal for the Gunners as they made sure of second place in the group.
Arsene Wenger's team dominated possession for much of the match but their finishing lacked precision against a poor Partizan side.
Robin Van Persie opened the scoring for the home side after half-an-hour smashing home a penalty kick after he had been brought down by Jovanovic.
Samir Nasri should have doubled their lead two minutes into the second half after the ball broke to him in space in the penalty area, but he fired high over the bar.
Arsenal were made to pay for the French midfielder's profligacy four minutes later when Cleo scored for the visitors when his deflected shot beat keeper Fabianski.
Wenger responded by sending on Theo Walcott who then delivered the vital second goal, taking advantage of some sloppy Partizan defending to volley home from six yards in the 73rd minute.
Nasri made up for his earlier miss three minutes later, driving the ball low past Stojkovic after some neat work from Alex Song.
The only disappointment for Arsenal was Bacary Sagna's red card -- for a foul on Aleksandar Lazevski -- with four minutes remaining.
Second half goals from Razvan Rat and Adriano ensured Shakhtar Donetsk claimed top spot in the group as they beat Braga 2-0 at home.
The Ukrainian champions finished with 15 points. Arsenal has to settle for second place with 12 points.
In Group E, Bayern Munich finished top of the table with 15 points after a comfortable 3-0 home win over Basel.
The Swiss side's hopes of progressing to the knockout stages were ended by two quick goals by Bayern in the first period.
Franck Ribery opened the scoring after 35 minutes with Anatoliy Tymoschuk doubling the lead two minutes later.
The French star made it 3-0 five minutes after the break when he side-footed home after Thomas Muller's low cross from the right.
Roma, who only required a point to secure second spot behind Bayern, were on course to grab all three until their hosts CFR Cluj scored a late equalizer.
The Serie A side took the lead after 21 minutes as the Romanian side gifted them possession in their own half. Fabio Simplicio then sent through Marco Borriello who slotted the ball past Eduard Stancioiu in goal.
But Lacina Traore equalized for the home side with only two minutes of normal time remaining. But the point couldn't stop Cluj finishing bottom of the group with only four points from their six games.
Chelsea's slump in form continued as they lost 1-0 to Marseille at the Stade Velodrome, but still topped Group F with 15 points. Marseille, who had already secured second place, scored a late winner as Brandao turned the ball past Petr Cech in the 81st minute.
Spartak Moscow beat their hosts MSK Zilina 2-1 to finish the group stage in third place with nine points.
Slovakian champions Zilina took the lead in the 48th minute with a goal from Tomas Majtan, but Spartak struck back six minutes later as Alex struck home confidently, while Ibson made sure of three points in the 61st minute.
Meanwhile in Group G, Real Madrid hammered Auxerre 4-0 as Karim Benzema scored a hat-trick.
The Frenchman striker opened the scoring after 12 minutes heading home a Cristiano Ronaldo cross.
Ronaldo then made it 2-0 shortly after halftime smashing the ball into the roof of the net after latching onto a pass from Marcelo.
Benzema bagged his second in the 72nd minute firing low past Olivier Sorin and claimed a third two minutes before time. The win means Madrid finish on top of the group with 16 points, while AC Milan were second with eight points.
In the other match in Group G, caretaker manager Frank de Boer registered his first win for Ajax as they overcame AC Milan in the San Siro.
The visitors were unlucky not to be ahead at half time as the Serie A leaders failed to find any rhythm. But Ajax made the breakthrough 12 minutes into the second half thanks to a goal from Demy De Zeeuw.
Toby Alderweireld made it 2-0 after 66 minutes to ensure three points and a place in the Europa League.