Barcelona shrugged off their shock loss to Celtic to guarantee their progress as winners of Group G with a 3-0 stroll over Spartak Moscow in Russia.
Lionel Messi set up Dani Alves for a 16th-minute opener before scoring himself, poking home a rebound after a shot by Andres Iniesta was blocked. Messi made it 3-0 before the break.
Celtic still have a good chance of joining Barcelona in the last 16 despite slipping to a 2-1 defeat to Benfica in Portugal.
Ezequiel Garay struck a 71st-minute winner for the hosts after Celtic's Giorgios Samaras had cancelled out Ola John's seventh-minute opener.
With the two sides now locked on seven points, Celtic must get a better result than their rivals in the last series of group games, with the Scots at home to already-eliminated Spartak and Benfica travelling to the Nou Camp.
Substitute Sebastian Giovinco sealed a 3-0 win for Juventus over Chelsea in Turin to leave the Londoners' defence of their Champions League title hanging by a thread.
Chelsea's defeat means they must beat minnows Nordsjaelland in their final group game at Stamford Bridge next month and hope already-qualified Shakhtar Donetsk see off Juventus in Ukraine.
Roberto Di Matteo's men fell behind when Andrea Pirlo's shot was deflected home by Fabio Quagliarella in the 38th minute, and Arturo Vidal side-footed home another deflected effort to make it 2-0 on the hour.
Giovinco's injury-time third added to Chelsea's woe and they now face the prospect of being the first defending champions to exit in the group stage after Shakhtar moved into the last 16 with a 5-2 win in Norway.
The home side twice took the lead through Morten Nordstrand and Kasper Lorentzen but Shakhtar were quick to equalise and ultimately eased to victory through a Luiz Adriano hat-trick and two from Willian early in the second half.
However, Adriano's achievement was marred by the manner of his first goal.
The visitors were returning the ball to their opponents following a break for injury, but Adriano had failed to read the script and ran onto the ball with the home defence static and rounded the goalkeeper to score.
Bayern Munich and Valencia played out the 1-1 draw they needed to guarantee their progress from Group F, Sofiane Foghouli's 77th-minute opener for the Spaniards cancelled out five minutes later by Thomas Muller.
The two sides had been all but certain of qualification following BATE Borisov's earlier 2-0 home defeat to Lille, who got their first points in the group through goals from Djibril Sidibe and Gianni Bruno.
Galatasaray's 1-0 win over Group H winners Manchester United leaves them neck and neck with Romanians Cluj going into next month's final round of matches after Cluj beat Sporting Braga 3-1.
Burak Yilmaz grabbed a potentially crucial 54th-minute winner for the Turks, while Rui Pedro hit a first-half hat-trick for Cluj. Alan replied for the Portuguese side, who saw their slim hopes ended with their defeat.