Lyon drew at Shakhtar to complete the round of 16 line-up as the groups ended and Real Madrid suffered a humbling loss.
Article top media content
- Lyon draw at Shakhtar to claim the last round of 16 place
- Bayern, Manchester City, Juventus top groups
- Plzeň in #UEL despite CSKA's record-breaking win at Madrid
- Final group standings
- Round of 16 draw streamed live on Monday
- Watch highlights now
At a glance
Through to round of 16
Group winners: Barcelona, Bayern München, Borussia Dortmund, Juventus, Manchester City, Paris Saint-Germain, Porto, Real Madrid
Group runners-up: Ajax, Atlético Madrid, Liverpool, Lyon, Manchester United, Roma, Schalke, Tottenham Hotspur
Transfer to UEFA Europa League round of 32
Benfica, Club Brugge, Galatasaray, Internazionale Milano, Napoli, Shakhtar Donetsk, Valencia, Viktoria Plzeň
Ajax 3-3 Bayern München
Ajax were on course for the win needed to pip their fellow qualifiers to top spot when leading 2-1 with three minutes left, only to concede twice – although Nicolás Tagliafico equalised at the death. Bayern had struck first through Robert Lewandowski on 13 minutes but Dušan Tadić levelled on 61. The hosts then had Maximilian Wöber sent off, swiftly followed by Thomas Müller. With eight minutes remaining, though, Ajax won a penalty converted by Tadić. However, Lewandowski scored an even later spot kick to end the group stage as eight-goal leading scorer, and Kingsley Coman briefly made it 3-2.
Benfica 1-0 AEK Athens
Even before kick-off, Benfica were confirmed in third place ahead of AEK, and Álex Grimaldo secured victory with two minutes left from a free-kick for which Kostas Galanopoulos received a second yellow card – leaving the visitors still point-less.
Shakhtar Donetsk 1-1 Lyon
Shakhtar began the day two points behind Lyon and the French team gained the point they required in snowy Kyiv to beat their hosts to the last round of 16 berth. Júnior Moraes struck for Shakhtar midway through the first half but a fine Nabil Fekir finish on 65 minutes gave Lyon the necessary draw.
Manchester City 2-1 Hoffenheim
City made sure of pole position in the group but only after falling behind to Andrej Kramarić's penalty. Leroy Sané got both City goals, the first a free-kick.
Viktoria Plzeň 2-1 Roma
Plzeň started the day third, above CSKA on head-to-head record, and as it turned out victory against the group runners-up was crucial in taking the Czech side to the UEFA Europa League round of 32. All the goals came in an 11-minute second-half spell, Jan Kovařík and Tomáš Chorý scoring either side of Cengiz Ünder; in added time Roma had Lorenzo Pellegrini sent off.
Real Madrid 0-3 CSKA Moskva
Madrid had already rubber-stamped top spot despite an earlier loss at CSKA, and the holders' group campaign ended with a record European home defeat – even if the visitors' win was in vain due to Plzeň's victory. A much-changed home team began brightly but Fyodor Chalov and Georgi Shchennikov netted late in the first half and Arnór Sigurðsson got the third with 17 minutes to go. It was Madrid's first group home loss since 2009, while CSKA's points tally of seven is the joint most for any bottom finisher in a UEFA Champions League section – and no club had come last after beating any opponent home and away. Moreover, only three times previously had Madrid been 'doubled' in a group.
Valencia 2-1 Manchester United
Already destined for third place, Valencia signed off on a high with victory thanks to a strike from Carlos Soler and an own goal early in the second half by Phil Jones. Marcus Rashford cut the gap with three minutes left.
Young Boys 2-1 Juventus
United's defeat meant Juventus topped the group despite their own loss in Berne. Guillaume Hoarau got both YB goals, the first his 100th for the club, before Paulo Dybala pulled one back.
GROUP A: Club Brugge 0-0 Atlético Madrid, Monaco 0-2 Borussia Dortmund
GROUP B: Barcelona 1-1 Tottenham Hotspur, Internazionale Milano 1-1 PSV Eindhoven
GROUP C: Liverpool 1-0 Napoli, Crvena zvezda 1-4 Paris Saint-Germain
GROUP D: Galatasaray 2-3 Porto, Schalke 1-0 Lokomotiv Moskva