Tottenham Hotspur came from two goals down to beat Olympiakos 4-2 and qualify for the Champions League last 16 on Jose Mourinho's home debut on Tuesday, while Robert Lewandowski continued his incredible season by scoring four times for Bayern Munich.
Spurs were one of three teams to secure their place in the knockout phase with one game to spare as Manchester City and Real Madrid also made it to the last 16.
However, it looked like it might not be Tottenham's night as they went 2-0 down inside 19 minutes in north London with a Youssef El Arabi strike followed by a Ruben Semedo tap-in for Olympiakos.
Mourinho, though, had been unbeaten in his first home game in charge of each of the seven previous clubs he had coached, including in each of his two spells at Chelsea.
Dele Alli pulled one back for Spurs just before the interval, and Lucas Moura set up Harry Kane to equalise five minutes after the break.
- Kane scores brace -
A thumping Serge Aurier strike completed the turnaround on 73 minutes before Kane headed in Christian Eriksen's free-kick to become, on his 24th appearance, the quickest player to 20 goals in Champions League history.
"The boys gave everything, the feeling is good and we have difficult matches to come. We can look to the Bayern Munich game with different eyes," Mourinho told BT Sport.
Tottenham will finish second in Group B behind their final-day opponents Bayern, who made it five wins from five in Europe this season as Lewandowski's quadruple helped them to a 6-0 win at Red Star Belgrade.
Lewandowski scored four goals in the space of 16 second-half minutes, the first of them a penalty, in between goals by Leon Goretzka and Corentin Tolisso.
Lewandowski has scored four times in a Champions League game once before, for Borussia Dortmund against Real Madrid in 2013. He now has 27 goals for Bayern this season.
"I am just as happy when I don't score and we win," the Polish striker told German Sky.
- Subdued City -
Pep Guardiola's Manchester City got the point they needed to progress from Group C, drawing 1-1 with Shakhtar Donetsk. On a subdued occasion, Ilkay Gundogan got a 56th-minute opener, but Manor Solomon levelled for the Ukrainians.
"The group stage is always tricky but the target was to qualify and we have done it," Guardiola said.
City will finish top of the group while Shakhtar will join them by winning their final game against Atalanta.
The Italians are still in contention to qualify after beating Dinamo Zagreb 2-0 thanks to Luis Muriel's penalty and a cracking Alejandro 'Papu' Gomez goal.
Atalanta remain bottom of the group but can still go through if they win their final game, provided Dinamo do not beat City.
- PSG peg back Real -
A 1-1 draw in the early game between Galatasaray and Club Brugge meant Real Madrid had joined Paris Saint-Germain in securing qualification from Group A before kicking off against the French side.
Karim Benzema scored twice for the hosts in an impressive performance, while there was controversy in between as the Portuguese referee showed Real goalkeeper Thibaut Courtois a red card and gave PSG a penalty for a foul on Mauro Icardi, only to overturn his decision following a VAR review.
With Neymar on as a substitute, PSG scored twice in the last nine minutes to earn a draw, a Kylian Mbappe tap-in being followed by a Pablo Sarabia strike against his old side. The result allowed PSG to clinch top spot in the section.
Brugge are in third after Krepin Diatta's stoppage-time equaliser cancelled out Adem Buyuk's opener for Galatasaray, but both Diatta and teammate Clinton Mata were shown second yellow cards for wild celebrations, with the latter breaking a corner flag.
Meanwhile, Paulo Dybala overshadowed Cristiano Ronaldo by scoring a superb free-kick to give Juventus a 1-0 home win over Atletico Madrid.
That result confirmed Juventus as Group D winners, and left second-placed Atletico one point ahead of Bayer Leverkusen. They won 2-0 at Lokomotiv Moscow thanks to Rifat Zhemaletdinov's own goal and Sven Bender's volley.