Juventus and Bayern Munich coasted through their final games, while Lionel Messi suffered a bruised knee as Barcelona held Benfica to a 0-0 draw.
Champions League round-up: Messi injured in cameo against Benfica
An own goal saw Juventus go through to the knockout stages of the Champions League as Group E winners as they edged out Shakhtar Donetsk in Ukraine.
Olexander Kucher inadvertently turned Stephan Lichtsteiner's cross into his own net in the 56th minute, seeing Juve leapfrog Shakhtar at the top and rendering Chelsea's 6-1 thrashing of FC Nordsjaelland meaningless.
Both teams struck the post but Juventus could just about claim to be worthy winners as they had the better of the chances and ensured most of the game was played in Shakhtar territory.
Lionel Messi was stretchered off with a knee injury as Barcelona drew 0-0 with Benfica at the Nou Camp, a result which sees Celtic go through at the expense of the Portuguese from Champions League Group G.
The club later confirmed that the injury was only bruising to the left knee, but added that the Argentine "is still awaiting more tests".
Benfica needed only to match Celtic's result against Spartak Moscow and they wasted a number of excellent chances against a weakened Barca, especially in the first half and were to rue them as they dropped into the Europa League.
With no goals, the major incident at the Nou Camp was an injury to Lionel Messi, who was taken off on a cart after appearing as a second-half substitute, leaving Barca to finish with 10 men.
Bayern Munich sealed top spot in Group F as they coasted to a 4-1 victory over BATE Borisov at the Allianz Arena.
BATE never threatened a repeat of their 3-1 upset earlier in the competition as a much-changed Bayern side did more than enough to ensure they will avoid the likes of Barcelona and Manchester United in the next round.
Mario Gomez, one of seven changes, opened the scoring on 21 minutes before Thomas Muller and Xherdan Shaqiri netted shortly after half-time to ensure a nerveless second period.
Substitute David Alaba completed the rout with seven minutes remaining before Egor Filipenko grabbed a BATE consolation.
By then, both sides had been reduced to 10 men with Bayern's Jerome Boateng seeing red for a poor challenge on Artem Kontsevoy in the 51st minute and Denis Polyakov following 18 minutes later for a second bookable offence.
Bayern goalkeeper Manuel Neuer said that revenge had been on their mind for their surprise loss in Belarus.
"For us, it was a must win after the loss in Borisov," said Neuer.
"Of course there was a little bit of revenge. We wanted to show that we were the better team. But it was a little aggravating that we conceded the one goal."
The win saw Bayern pip Valencia to top spot, despite the Spaniards winning 1-0 in Lille thanks to a 37th-minute penalty from Oliveira Jonas after Marko Basa had impeded him.
In Group G, Galatasaray came back to beat Braga 2-1 to take second place behind Manchester United.
Marcio Mossoro's curling shot gave Braga a first-half lead, but Burak Yilmaz and namesake Aydin struck in the second half to turn it around.
Follow us @SprtNationalUAE