Inter Milan and Chelsea secured their places in the knockout stage of the Champions League on Tuesday but AC Milan will have to wait after an 89th-minute goal by Ronaldinho gave Barcelona a 2-1 win in the Nou Camp.
Chelsea became the first team to progress to the last 16 with a 1-0 Group H win at CSKA Moscow and Inter followed them later on Tuesday as their goalless home draw with Valencia was enough to guarantee a top-two finish in Group G with two games remaining.
AC Milan were set to join them but are now level with Barcelona on nine points in Group F, though both should still progress.
PSV Eindhoven took charge of Group E as a 1-0 home win over Rosenborg Trondheim put them three points clear of Arsenal, who were held to a 1-1 home draw by Panathinaikos.
Werder Bremen were the night's top scorers, Croat Ivan Klasnic hitting a hat-trick in their 5-1 win over Anderlecht, defending champions Porto are hanging on by a thread after a goalless home draw with Paris St Germain while Celtic claimed their first points with a 1-0 home win over Shakhtar Donetsk.
CHELSEA THROUGH
Chelsea became the first club to make it four wins out of four thanks to a well-made goal and one of the worst penalty misses of the season.
The London club went ahead in the 24th minute when a Damien Duff backheel return pass to Arjen Robben set up the Dutchman to score with a firm, low finish.
CSKA should have equalised two minutes into the second half when Yuri Zhirkov was felled in the box by Glen Johnson but Brazilian Vagner Love blasted the penalty so high over the bar it could have bounced off a passing Sputnik.
Inter could not manage a goal but went through on the back of their 5-1 victory at Valencia two weeks ago - head to head records counting before goal difference in the qualification criteria.
It looked like a double celebration for the northern Italian city as AC Milan were level in the Nou Camp after Samuel Eto'o had cancelled out Andriy Shevchenko's opener for the visitors.
But Barcelona, who were the better side all night, gained revenge for their 1-0 defeat in the San Siro when Brazilian Ronaldinho cut inside to fire in the winner from the edge of the box.
ARSENAL STRUGGLES
Both teams should go through but both Celtic and Donetsk, each on three points, still have a mathematical chance.
Arsenal's recent struggles continued as they drew their third game of the European campaign after managing just one point from their last two Premier League games. The mighty Gunners are faltering with just one win in five in all matches.
A 16th-minute Thierry Henry penalty had them ahead at Highbury and when Angelos Basinas blazed a 62nd minute penalty wide the English champions looked set for all three points.
But the Greek champions secured their second successive draw against the Londoners in the 75th minute when Arsenal defender Pascal Cygan diverted a Loukas Vintra drive into his own net.
That left Arsenal on six points, one ahead of Panathinaikos but three adrift of PSV, who eased past Rosenborg with a 10th minute goal by American DaMarcus Beasley.
CSKA Moscow and Paris St Germain both have four points in the battle for second place behind Chelsea in Group H but Porto, on two, could also still sneak through.
Werder Bremen (nine points) and Valencia (four), who meet in the final round on December 7, are still in the hunt behind Inter while Anderlecht, who have lost all four games, are the only team from Groups E-H who cannot progress.
Groups A-D play their fourth-round matches on Wednesday.