There were goals galore in the Champions League on Tuesday as Barcelona and Bayern Munich advanced to the knockout stage and also secured top spot in their groups.
Barcelona had already qualified following BATE Borisov draw with Bayer Leverkusen earlier, but it clinched top spot in Group E in style, hammering Roma 6-1 as Lionel Messi marked his return from injury with two goals.
"It's tough to get back up to full speed," said Messi. "I prepared well and trained, but it's not the same as going out on the pitch and lasting 90 minutes. I will take it with calm and get my pace back."
Bayern routed second-placed Olympiakos 4-0, despite playing almost 40 minutes with 10 men, to ensure it will finish top of Group F, while Chelsea won by the same scoreline at 10-man Maccabi Tel Aviv in Group G.
Arsenal beat Dinamo Zagreb 3-0 to keep alive its chances of progressing. The Premier League side needs to beat Olympiakos in its final group match.
Zenit St. Petersburg secured top spot in Group H with a 2-0 win over Valencia.
Here's a closer look at Tuesday's games in the Champions League:
Lionel Messi is back and scoring, netting a double in Barcelona's 6-1 win over Roma that put the titleholders into the knockout round for a 12th consecutive season.
Messi showed no rust in his second appearance since recovering from a left-knee ligament he tore on Sept. 26 and scored Barcelona's second and fifth goals of the one-sided match.
Luis Suarez opened the scoring at Camp Nou in the 15th minute. Three minutes later Messi scored his first goal from Suarez's pass.
Luis Suarez and Gerard Pique added more goals before Messi struck again. Adriano capped the demolition after converting from the rebound following Neymar's missed penalty.
"Messi is the best and I feel very happy for him for his goals and because he played the entire match," Suarez said.
Edin Dzeko got Roma's goal just before the final whistle.
Victory moved the Spanish club on to 13 points at the top of Group E with a game to spare.
Roma was left with five points along with Leverkusen, while BATE has four.
BATE's Mikhail Gordeichuk's took the lead in the second minute, only for Admir Mehmedi to equalize in the 68th.
It's all over, at least for Bayern Munich. Pep Guardiola's team can't concede, let alone lose, even while playing most of the second half with 10 men. Douglas Costa, Robert Lewandowski and Thomas Mueller scored inside the first 20 minutes.
Defender Holger Badstuber was sent off in 53rd minute on his first start after nine months out with a knee injury for downing Ideye Brown. But it was Bayern that went on to score again with Kingsley Coman completing the emphatic win in the 70th.
Bayern now tops the group with 12 points and cannot be dislodged with one match remaining.
"We managed to win the group again, that was our goal," Guardiola said. "My compliments to the team, we can be pleased."
Arsenal can still advance to the knoutout stage as second in the group after beating Dinamo Zagreb 3-0. Alexis Sanchez scored twice and set up Mesut Ozil for Arsenal's first goal.
Arsene Wegner's side must beat Olympiakos 2-0 or by a one-goal margin of at least 3-2 due to the head-to-head formula used by UEFA to separate teams. Arsenal is third, three points behind Olympiakos with nine.
Chelsea remained in the hunt to advance from Group G after easing past 10-man Maccabi Tel Aviv 4-0.
Tel Aviv was reduced to 10 men five minutes before halftime when former Chelsea defender Tal Ben Haim was sent off for a rash challenge on Diego Costa, but it took Chelsea more than half an hour to double its lead, when Willian curled in a free kick.
Gary Cahill had put the visitors up in the 20th minute. Oscar and substitute Kurt Zouma scored the other goals.
In the only negative point for Chelsea, captain John Terry fell awkwardly in the 75th and was taken off on a stretcher.
Chelsea's win, and Porto's loss to Dynamo Kyiv, tied the first two teams on 10 points, two more than Kyiv.
Andriy Yarmolenko and Derlis Gonzalez netted to inflict Porto's first defeat of the season.
In the final round of group games next month, Chelsea hosts Porto in a likely winner-takes-all match, and Kyiv hosts winless Tel Aviv.
Russia striker Artyom Dzyuba scored again as Zenit secured top spot in Group H by beating Valencia 2-0, while Gent maintained its chances of qualifying after winning 2-1 at Lyon thanks to Kalifa Coulibaly's injury-time winner.
Gent has seven points, one more than Valencia, and can guarantee qualification by beating Zenit at home on Dec. 9. But Lyon's one point sees it miss out on a Europa League berth.
Dzyuba's 74th-minute goal, his fifth of the group stage, was a simple finish after a lay-off from Hulk. Midfielder Oleg Shatov scored the opener.
Valencia finished with 10 men after defender Ruben Vezo was shown a straight red card in the 80th for slicing down Shatov.
"Apart from 10 minutes in the second half, we dominated completely," Zenit coach Andre Villas-Boas said.
Meanwhile, Lyon failed to properly clear a corner and Coulibaly nodded home from close range to punish a lacklustre Lyon side that led through midfielder Jordan Ferri's seventh-minute goal.
The Belgian side equalized in the 32nd minute through Danijel Milicevic's cleverly-worked free-kick.
Before the match, Lyon fans held scarves aloft as they sang the French national anthem in honour of the victims of the Paris attacks on Nov. 13, which left 130 dead and hundreds more wounded.
With France under a state of emergency and Brussels staying on high alert over serious terror threat, no Gent fans were allowed in Lyon.