Ten-man Bayern Munich qualified for the last 16 with two games to spare and a perfect record after defeating RB Salzburg 3-1 at the Allianz Arena.
Robert Lewandowski, an own goal by Maximilian Wober and Leroy Sane handed Bayern a comfortable victory with their only blemish being Marc Roca being sent off midway through the second stanza.
Mergim Berisha scored the consolation goal for Salzburg, who were left rooted at the bottom of the group with only one point.
Ajax Amsterdam moved two points behind leaders Liverpool after cruising to a 3-1 win over ten-man Midtjylland.
Ryan Gravenberch, Noussair Mazraoui and David Neres all scored in the second stanza for the Dutch giants.
Awer Mabil scored the consolation goal for the visitors, who had Erik Sviatchenko sent off in stoppage time
Atletico Madrid remain in second place after playing to a goalless draw against Lokomotiv Moscow at Estadio Wanda Metropolitano.
After a scoreless first stanza, Koke thought he had snatched the winner for Atletico after finding the back of the net in the 68th minute but the goal was ruled out for offside by the Video Assistant Referee (VAR).
FC Porto are on the cusp of booking their spot in the round of 16 after beating Olympique Marseille 2-0 with both sides having a player sent off at the Stade Velodrome.
Zaidu Sanusi and Sergio Oliviera scored in either half for Porto as they moved three points behind leaders Manchester City in second place and six points ahead of third-placed Olympiakos Piraeus.
Marko Grujic was sent off for Porto in the 67th minute and Leonardo Balerdi also got red-carded for Marseille three minutes later.
Marseille are out of the running for a place in the last 16, with zero points at the bottom.