Lokomotiv 1-1 Atlético
Lokomotiv keeper Guilherme produced a string of fine saves to frustrate Atlético, João Félix in particular, and earn his side a share of the spoils. José María Giménez's first-half header put the visitors in front for just seven minutes, Anton Miranchuk's spot kick levelling the scores.
Key stat: Atlético have conceded in each of their last five Champions League games, their longest sequence without a clean sheet in the competition since a run of seven between September 2009 and October 2013.
Salzburg 2-6 Bayern
Late goals from Leroy Sané, Robert Lewandowski – his second – and Lucas Hernández completed Bayern’s cruise against Salzburg. The tie seemed to tilt in the hosts' favour when Masaya Okugawa coolly slotted in for 2-2 minutes after coming off the bench in the second half. However, the European champions found four more goals to secure a sizeable triumph.
Key stat: Bayern have now won 14 Champions League games in a row.
Shakhtar 0-6 Mönchengladbach
An Alassane Pléa hat-trick – his first goals in the competition – helped Gladbach to their biggest ever Champions League win. Pléa's early finish and long-range stunner, Valeriy Bondar's own goal and Ramy Bensebaini's header made it 4-0 before Lars Stindl notched the fifth and Pléa completed his treble.
Key stat: Gladbach equalled their biggest European Cup away win – a 6-0 success at EPA Larnaca of Cyprus in their first game in the competition, in September 1970.
Real Madrid 3-2 Inter
Rodrygo came off the bench to rubber-stamp Madrid's first victory of the campaign. The hosts appeared comfortable courtesy of Karim Benzema's opener and a Sergio Ramos header, only for Inter to hit back via Lautaro Martínez's neat finish. Ivan Perišić then levelled midway through the second period, but the home side were not to be denied.
Key stat: Ramos's goal was his 100th for the Merengues.
Manchester City 3-0 Olympiacos
Goals by Ferrán Torres, Gabriel Jesus and João Cancelo helped City continue their perfect start. The Spanish international fired in after a lovely move as City dominated the first half, but it was a different story after the break. However, Olympiacos struggled to create a chance of note before Jesus clinched it with a superb late finish and Cancelo curled in a third.
Key stat: Jesus has netted six times in his last five Champions League appearances.
Porto 3-0 Marseille
Porto boosted their hopes of progress, moving three points clear of third with a comfortable triumph over Marseille. Moussa Marega and captain Sérgio Oliveira scored either side of a first-half Dimitri Payet penalty miss for Marseille. Luis Díaz finished a well-worked team move to seal victory.
Key stat: Marseille equalled the record for most consecutive Champions League defeats (12 with Anderlecht).
Midtjylland 1-2 Ajax
All the goals came in the first 18 minutes in Denmark, Antony putting the visitors in front inside the first 60 seconds before Dušan Tadić smashed in a second 12 minutes later. Anders Dreyer quickly brought the home team back into contention with their first group goal, but Midtjylland were unable to find a second and slipped to their third defeat.
Key stat: Tadić has scored in Ajax's last four games in all competitions.
Atalanta 0-5 Liverpool
Diogo Jota bagged a hat-trick as Liverpool made it three wins from three with a devastating display in Bergamo. The in-form Portugal forward put the visitors two up in the first half, then added the last of three goals in eight second-half minutes – Mohamed Salah and Sadio Mané with the others – to wrap up a handsome victory.
Key stat: Jota has now scored three hat-tricks in his last eight European games.