The group stage of this season's Champions League might have come to an end on Wednesday, but the last day of matches before the knockout phase still produced plenty of action.
Bayer Leverkusen booked their place in the last 16 as runners-up in Group E after a convincing 3-0 home win over Monaco.
Leverkusen opened the scoring when Vladlen Yurchenko's shot from range handed them the lead on the half-hour mark. After the break, Julian Brandt doubled their lead and Morgan De Sanctis' late own-goal completed a resounding win for the Bundesliga club.
3 cheers for 3 goals and a solid team performance!
— Bayer 04 Leverkusen (@bayer04_en) December 7, 2016
Meanwhile, Tottenham secured a their spot in the Europa League with a 3-1 win over CSKA Moscow at Wembley.
Alan Dzagoev handed CSKA the lead in the 33rd minute, but their advantage only lasted five minutes as Dele Alli levelled matters for Spurs. With the half-time whistle about the blow, Spurs found themselves in the lead after some good work from Danny Rose, who created a gilt-edged chance for Harry Kane to put away.
— Tottenham Hotspur (@SpursOfficial) December 7, 2016
With 12 minutes left to play, Alli completed the turnaround as his header went in off Igor Akinfeev.
Real Madrid had to settle for second place in Group F after a late goal handed Borussia Dortmund a 2-2 draw at the Bernabeu.
The defending champions drew first blood on the 30-minute mark when Daniel Carvajal's deft touch found Karim Benzema unmarked and the Frenchman made no mistake with the finish. Benzema doubled Madrid's advantage just after the interval, before Pierre-Emerick Aubameyang brought Dortmund back in the game on the hour mark.
With just two minutes left, Marco Reus brought Dortmund level to ensure Thomas Tuchel's side went into the knockout stage as winners of Group F.
In the group's other match, Guilherme scored the only goal of the game as Legia Warsaw beat Sporting CP 1-0 to claim a spot in the Europa League
FC Porto booked their place in the last 16 after claiming a 5-0 win over Premier League champions Leicester City.
The Dragons took the early lead at the Estadio do Dragao when Andre Silva headed home Jesus Manuel Corona's sixth-minute corner. Just before the half-time interval, provider turned scorer, as Corona thumping first-time strike nearly burst the back of the net.
Shortly before the half-time break, Maximiliano Pereira played in Yacine Brahimi, who scored Porto's third with an audacious backheel finish. Andre Silva scored their fourth from the penalty spot in the 64th minute, before Diogo Jota completed the rout with 10 minutes to play.
Club Brugge suffered the ignominy of finishing the group stage with no points after losing 2-0 to the Europa League-bound FC Copenhagen.
— Club Brugge KV (@ClubBrugge) December 7, 2016
Brugge started the match in the worst possible fashion when Brandon Mechele's own-goal handed Copenhagen a fortuitous lead in the eighth minute. Eight minutes later the Danes doubled their advantage, although there was nothing lucky about this goal, as Mathias Jorgensen's bullet header left the Brugge defense with no chance.
In Group H, Juventus completed the group stage with a 2-0 win over Dinamo Zagreb, who also suffered six straight losses in the competition.
After the first half finished goalless, Gonzalo Higuain handed Juve the lead in the 52nd minute. The Italian champions then confirmed their position as winners of Group G when Daniele Rugani scored their second with 20 minutes to play.
The group's other match saw Lyon and Sevilla play out a 0-0 draw, a result which the Spanish side advance to the knockout stage.
Results in full:
Bayer Leverkusen 3-0 Monaco
Tottenham 3-1 CSKA Moscow
Real Madrid 2-2 Borussia Dortmund
Legia Warsaw 1-0 Sporting CP
FC Porto 5-0 Leicester City
Club Brugge 0-2 FC Copenhagen
Juventus 2-0 Dinamo Zagreb
Lyon 0-0 Sevilla