Jose Mourinho's first home game as Tottenham Hotspur manager suffered a false start but ended in victory as his side recovered a two-goal deficit to beat Olympiakos Piraeus 4-2 and reach the Champions League last 16 on Tuesday.
Tottenham were joined by Premier League champions Manchester City, who drew 1-1 with Shakhtar Donetsk, and Real Madrid, who drew 2-2 with Paris Saint-Germain (PSG), while Robert Lewandowski scored four goals in just over 14 minutes for Bayern Munich in a 6-0 win at Red Star Belgrade.
Bayern, Juventus, who beat Atletico Madrid 1-0, and PSG were already through before this week's group matches.
Mourinho, who won the Champions League with Porto and Inter Milan, saw his new charges go 2-0 behind to visiting Olympiakos.
Youssef El-Arabi in the sixth minute and Ruben Semedo following a corner in the 19th stunned Spurs but Dele Alli scored from close range just before the break to get the home side back in the game.
Harry Kane finished shortly after the interval to level, and Serge Aurier netted in the 73rd minute before Kane headed a fourth four minutes later.
The England striker is the the fastest player to score 20 goals in Champions League history, reaching the tally in 24 games, two quicker than the previous record held by Juventus forward Alessandro del Piero.
Tottenham will finish second in Group B, where Bayern Munich made sure of top spot by cruising to a six-goal victory in Belgrade for a fifth win in five games.
Leon Goretzka headed Bayern ahead before Lewandowski scored from the penalty spot after the break and then bagged three more to take his CL tally this season to 10 before Corentin Tolisso completed the rout.
Thirteen-time European champions Real Madrid were assured of progress as a result of the earlier 1-1 draw between Galatasaray and Bruges in Group A.
Real were then held 2-2 by PSG after squandering a two-goal lead, a result which ensures top spot for the French champions.
A Karim Benzema brace in each half put Real ahead but Kylian Mbappe netted in the 81st minute for PSG and Pablo Sarabia levelled two minutes later shortly after coming off the bench.
Real had benefited shortly before the interval from a video assistant referee review after keeper Thibaut Courtois was shown a red card for bringing down Mauroi Icardi for what would have been a penalty. The review though showed a PSG foul in the build-up and the red card was rescinded.
In Istanbul, Adem Büyük struck in the 11th minute for Galatasaray against Club Brugge but the Turkish champions were pegged by a stoppage-time goal from Krepin Diatta.
Diatta was promptly shown a second yellow card for taking his shirt off and teammate Clinton Mata was also dismissed after a second booking for breaking a corner flag while celebrating the goal.
Brugge on three points, one ahead of Galatasaray, play Real at home in their last group match in the hope of making it to the Europa League.
In Turin, Paulo Dybala's direct free-kick from a tight angle gave Juventus a 1-0 win over Atletico Madrid to secure top spot in Group D and keep Bayer Leverkusen's hopes of progressing alive.
Leverkusen, who now have a home match against Juventus, won 2-0 win at Lokomotiv Moscow thanks to an own goal from Rifat Zhemaletdinov and a Sven Bender volley.
While Juve have 13 points, Atletico, who next greet Lokomotiv, are on seven and Leverkusen on six going into the last matchday.
Manchester City were held 1-1 at home by Shakhtar Donetsk but can't be caught at the top of Group C. Ilkay Guendogan's opener in the second time was cancelled out by substitute Manor Solomon.
Atalanta meanwhile secured their first Champions League win by beating Dinamo Zagreb 2-0 to keep their hopes in the group alive.