Manchester United came from a goal behind to beat CSKA Moscow and secure top spot in Group A in the Champions League.
Alan Dzagoev gave the Russians the lead before two second-half goals in three minutes from Romelu Lukaku and Marcus Rashford, who both ended lengthy scoring droughts, ensured the Red Devils progressed as group winners, Basel qualifying as runners-up after beating Benfica.
The game of the evening took place at the Allianz Arena as Bayern Munich hosted Paris Saint-Germain, and it certainly lived up to its billing.
Robert Lewandowski gave the hosts the lead, sweeping home from close range after being played onside by Dani Alves, before the unmarked Corentin Tolisso made it two with a header.
PSG responded with a terrific team goal, Kylian Mbappe heading home after great work from Marco Verratti and Edinson Cavani, but former Lyon midfielder Tolisso made sure of the result, slamming home from Kingsley Coman's cut-back.
PSG qualified as winners of Group B, Bayern finishing second, while Anderlecht beat Scottish champions Celtic, who secured a Europa League spot despite the 1-0 loss.
There was drama aplenty in Group C as Roma finished top, beating Chelsea to prime position after winning against minnows Qarabag 1-0 thanks to Diego Perotti's headed effort.
Atletico Madrid needed to beat Chelsea and hope Azerbaijanian outfit Qarabag could hold Roma, and even took the lead at Stamford Bridge through Saul Niguez, but Stefan Savic's own goal consigned Diego Simeone's men to the Europa League.
The result means Antonio Conte's Blues could be drawn against the likes of Barcelona and PSG in the next round.
Barcelona and Juventus, who had both already qualified from Group D ahead of ties against Sporting CP and Olympiacos, picked up routine 2-0 victories.
Paco Alcacer's near post flick and Jeremy Mathieu's own goal helped Barca ease past Sporting and ensured they won Group D, while Juan Cuadrado and Federico Bernardeschi wrapped things up for Juventus against Olympiacos.