Barcelona, Spain: Lionel Messi marked his 700th game for Barcelona by scoring his 613th goal on Wednesday as the Catalans beat Borussia Dortmund 3-1 to go through as group winners to the Champions League last 16.
Messi celebrated his anniversary in style by putting Barca two up before half-time, between laying on a pair of assists for Luis Suarez and Antoine Griezmann in a comfortable victory at Camp Nou.
England's Jadon Sancho fired into the top corner for a late Dortmund consolation but the visitors were largely disappointing and now face a fight with Inter Milan to make it out of Group F.
Dortmund will hope to beat Slavia Prague at home in a fortnight's time while relying on Barcelona to play a strong enough team to avoid defeat at the San Siro, eight days before the season's first Clasico at home to Real Madrid.
Messi got the ball rolling with a neat pass which allowed Suarez to open the scoring in the 29th minute, before the Uruguayan returned the favour four minutes later to lay on Messi for his 613th Barca goal on his 700th appearance.
Messi, who has scored 10 times in his last nine games, was also at the heart of the goal which extinguished Dortmund's hopes of a result in the 67th minute, slipping a wonderful through ball for Griezmann that the Frenchman could happily stroke first time past Roman Burki.
Dortmund are level on seven points with Inter after the defeat but slip down to third behind Antonio Conte's side, who roared to a fine win which keeps alive their hopes of a place in the next round.
Romelu Lukaku's first Champions League goal for Inter and a Lautaro Martinez double saw off a spirited Slavia side that had levelled through a VAR-awarded Tomas Soucek penalty after Lukaku thought he had doubled his side's lead.
Lukaku had another strike ruled out for offside by VAR in the dying moments, but a win over Barca at the San Siro next month will guarantee them a place in the last 16.
Leipzig back from the dead
Leipzig made the knockout stages in dramatic style after Emil Forsberg fired them back from two goals down in the final minute to draw 2-2 with Benfica.
The Germans needed a point to qualify but looked down and out as the match dragged towards added time, but Forsberg pulled a goal back from the penalty spot in the 90th minute before hitting the leveller six minutes later, sparking wild celebrations.
"Reaching the knockout stages for the first time in the club's history means that we're doing the right things and moving in the right direction. I'm just so proud," said Forsberg.
The draw gave Lyon a big let-off after they failed to snatch a knockout spot when they fell to 2-0 defeat at Zenit Saint Petersburg.
Rudi Garcia's looked in peril of not qualifying at all from Group G after the loss but Leipzig's last gasp efforts means they will go through with a win over Leipzig on December 10.
In Group E, Liverpool and Napoli were made to wait for their spots with a tense 1-1 draw at Anfield.
Dries Mertens opened the scoring with a sweetly struck opener midway through the first half, before Dejan Lovren's header salvaged a point to keep the Reds top of the group.
However the European champions still need to get at least a point away to Salzburg next month to secure their passage into the last 16, while Napoli need a draw with bottom side Genk to claim their spot.
Ajax need just a point to go through thanks to a 2-0 win at Lille that featured the fastest goal of this year's competition to open a two-point lead at the top of Group H.
Hakim Ziyech netted after 94 seconds at eliminated Lille with Quincy Promes hitting his fourth of the tournament on the hour mark.
Four-time European champions Ajax have 10 points from five games, two more than Valencia and Chelsea who fought out a hugely entertaining 2-2 draw in Spain earlier in the day.
Ajax host Valencia in their concluding fixture next month, while Chelsea welcome Lille knowing a win would be enough to ensure their place in the draw.