Barcelona are the first team into the round of 16, while there were crucial wins for Atlético and Spurs; see all Tuesday night's goals.
Article top media content
- Click the scoreline for highlights from each game
- Barcelona through with draw as Spurs comeback downs PSV
- Atlético deny Dortmund early progress, Brugge end Monaco hopes
- Crvena zvezda stun Liverpool, Napoli hold Paris
- Next games in these groups on 28 November
Atlético Madrid 2-0 Borussia Dortmund
Dortmund would have clinched qualification and first place with a win but instead Atlético avenged their 4-0 defeat in Germany to join their visitors on nine points. Saúl Ñíguez opened the scoring on 33 minutes with a deflected effort and Antoine Griezmann sealed victory near the end after a lightning counter.
Monaco 0-4 Club Brugge
Club Brugge ended a 13-year wait for a group win in style to stay within five points of the joint leaders. Hans Vanaken struck twice in the first 17 minutes, the second a penalty, before a superb Wesley goal soon made it three. Ruud Vormer got a late fourth to inflict Monaco's record European home defeat, which also means Thierry Henry's side cannot finish in the top two.
Internazionale Milano 1-1 Barcelona
Barcelona are the first team through following this draw – but even with Lionel Messi ruled out before kick-off, they still pushed hard for the victory that would have sealed top spot in the group. The visitors seemed to have done enough when substitute Malcom made their pressure tell in the 83rd minute, only for Mauro Icardi to swiftly equalise and keep Inter within three points of the leaders.
Tottenham Hotspur 2-1 PSV Eindhoven
Two goals by Harry Kane in the last 13 minutes turned the game and ended PSV's chances of a last-16 slot. Just 61 seconds had gone at Wembley when Luuk de Jong headed in Gastón Pereiro's corner but despite Jeoren Zoet's best efforts in the PSV goal, Kane's leveller and last-minute winner ensured Tottenham moved to within three points of Inter, whom they host on 28 November.
Napoli 1-1 Paris Saint-Germain
Juan Bernat put Paris in front on the stroke of half-time following fine work by Kylian Mbappé; however, the points were shared after Lorenzo Insigne's penalty past Gianluigi Buffon, making his European debut for the French club after suspension.
Crvena zvezda 2-0 Liverpool
Milan Pavkov was the home hero as his goals on 22 and 29 minutes, a spectacular strike and a bullet header, secured the first ever UEFA Champions League group win by a Serbian club. Just two points separate the four teams in the section, with Liverpool and Napoli on six, Paris with five and Crvena zvezda four.
Porto 4-1 Lokomotiv Moskva
Porto remain top of the pile after ending Lokomotiv's prospects of a top-two finish. Héctor Herrera scored in only the second minute and Moussa Marega added another just before half-time. Jefferson Farfán gave Lokomotiv hope on 59 minutes, yet soon after Jesús Corona made it 3-1 and Otávio added a late fourth to take Porto to within a point of progress.
Schalke 2-0 Galatasaray
Schalke stay within two points of Porto and opened up a lead of four over Galatasaray. They were heading for victory as soon as Guido Burgstaller found the target on four minutes. Mark Uth doubled the advantage before the hour.
Wednesday fixtures (21:00CET unless stated)
GROUP E: Bayern München v AEK Athens, Benfica v Ajax
GROUP F: Lyon v Hoffenheim, Manchester City v Shakhtar Donetsk
GROUP G: CSKA Moskva v Roma (18:55CET), Viktoria Plzeň v Real Madrid
GROUP H: Valencia v Young Boys (18:55CET), Juventus v Manchester United