Paris Saint-Germain and Bayern Munich advanced to the Champions League knockout stage with wins on Tuesday night, while Chelsea suffered a shock defeat.
Roma went top of Group C after a comprehensive 3-0 dismantling of Chelsea at the Stadio Olimpico courtesy of a Stephan El Shaarawy brace.
The hosts got off to a dream start when a cross into the area glanced off Edin Dzeko's shoulder and bounced right to an onrushing El Shaarawy, who blasted a right-footed shot past Thibaut Courtois for the early lead.
Chelsea saw three good chances go begging in the opening half hour, Cesc Fabregas firing wide from 18 yards, before Eden Hazard shot right at Allison in the Roma goal and Alvaro Morata skied one over the crossbar when left alone at very close range.
Roma would be two ahead at half-time after the Chelsea defence made a mess of handling a Roma ball into the penalty area and El Shaarawy ghosted in and neatly tucked a shot past Courtois for his second.
The game was effectively over just past the hour mark when a poor pass from Fabregas allowed Roma to break the other way and Diego Perotti fired his team's third goal of the night past a helpless Courtois to put the Serie A side one point ahead of Chelsea in the table.
In another shock result in Group C, Atletico Madrid drew 1-1 with 10-man FK Qarabag to further dent their hopes of advancing to the knockout rounds
Michel headed in the surprise opener for visiting Qarabag from a Wilde-Donald Guerrier corner kick in the 40th minute to send the group minnows into the dressing room ahead at half-time.
The game turned early in the second half when Thomas Partey buried a pass from Antoine Griezmann into the upper right corner right before Qarabag's Pedro Henrique was shown straight red for a hard foul, leaving his team to finish the match with 10 men.
Atleti could not break down the visiting side, though, and ultimately finished the match with 10 men as well after Stefan Savic was sent off right before full-time for a second yellow card.
The result leaves Diego Simeone's team with just three points from four matches in third place and in need of results against Roma and Chelsea to have any chance of reaching the knockouts.
Layvin Kurzawa scored a second-half hat trick as Paris Saint-Germain advanced from Group B with a 5-0 win over Anderlecht.
The Belgian side held firm for a half-hour before Neymar fed Kylian Mbappe atop the box, and the teenager played in Marco Verratti, who had time to pick his spot and curl a shot into the back of the net.
Neymar then got on the scoresheet himself on the final play of the first half. After playing a short corner to Julian Draxler, Neymar got the ball back, raced to the middle and fired a shot in off the hand of goalkeeper Frank Boeckx.
Early in the second half, Boeckx dove to push Neymar's free kick onto the post, only for the ball to come back out to the centre where Kurzawa was waiting to net PSG's third.
Kurzawa delivered a diving header into an open net for his second goal in the 72nd minute, then completed his hat trick in the 78th by lashing a low, left-footed shot home through the box.
PSG remained three points ahead of Bayern Munich, who ensured their own place in the next round by managing a 2-1 win away to Celtic.
After Stuart Armstrong missed wide on a gilt-edged chance to give the hosts an early lead, Kinglsey Coman scored Bayern's opener midway through the first half by running on to a long punt forward from goalkeeper Sven Ulreich.
When defender Dedryck Boyata failed to clear it, Celtic keeper Craig Gordon came out of his area, but Coman beat him to it and scored into the open net.
James Forrest played in Callum McGregor for a Celtic equaliser in the 73rd minute, but only three minutes later the Bundesliga champions were back in front as Javi Martinez headed home David Alaba's cross.
Young Benfica goalkeeper Mile Svilar was the focus again as his own goal allowed Manchester United to earn a 2-0 home win in Group A.
Benfica had an early penalty shout waved away when Eric Bailly shouldered Pizzi off the ball, but United were handed a penalty at the other end scarcely a minute later when Douglas' hand fell on the ball.
However, Anthony Martial failed from the spot as his soft shot was saved by 18-year-old goalkeeper Svilar, whose error in the previous matchday allowed United to win in Portugal.
But United found the breakthrough before the half when Nemanja Matic unleashed a shot from 30 yards that came back soundly off the post, only to strike the back of Svilar -- who dove for it late -- and fall over the goal line.
United keeper David De Gea was called on to make two fine saves to deny Diogo Goncalves, and United were fortunate again as Bailly gave the ball away at the back, only for Raul Jimenez to strike the post.
Marcus Rashford came on as a substitute on his 20th birthday and within three minutes drew a penalty from an Andreas Samaris foul. Daley Blind stepped up to the spot and beat Svilar to double United's lead.
Basel missed a chance to advance by letting a lead slip and losing 2-1 at home to CSKA Moscow, with the result also preventing United from securing their spot in the knockout stage.
Mohamed Elyounoussi's shot was blocked by CSKA goalkeeper Igor Akinfeev and bounced out to the top of the box, where Luca Zuffi lobbed home a volley for the only goal in the 32nd minute.
Needing a goal to retain their qualification hopes, CSKA found it in the 65th minute through Alan Dzagoev, who was played in by Pontus Wernbloom's through ball. Wernbloom then volleyed in the winner himself in the 79th minute to secure the three points.
Basel and CSKA are level in second place on six points, meaning United only need one point from their final two games to win the group. Bottom side Benfica have lost all four of their games.
Barcelona failed to score away to Olympiakos in Group D, as Ernesto Valverde's men were held to a 0-0 draw at the Karaiskaki Stadium.
Lionel Messi was twice denied in the opening 45 minutes. The Barca talisman saw a 28th-minute effort from a Luis Suarez assist gobbled up by Silvio Proto. Six minutes later, his on-target free kick from 20 yards was expertly saved by the Olympiakos goalkeeper.
The Greek hosts were resolute in the second half as they dug in against a hard-charging Barcelona side who did not look content to settle for a point.
But a goal never came and Barca settled for a draw that keeps them atop the group but not assured of advancing just yet.
In Tuesday's other Group D match, Juventus scored a second-half goal to draw 1-1 with Sporting Lisbon and stay in second place, three points in front of their opponent on the evening.
Bruno Cesar had the only goal of the first half, smashing a first-time rebound from a Gelson Martins shot past Gianluigi Buffon to give the hosts the lead at the break.
Miralem Pjanic had a great chance to get Juventus back on level terms early in the second half, but his curling effort from a laid off Juan Cuadrado pass narrowly missed to the right of goal.
The visiting side were pushing hard for an equaliser and had no shortage of chances, but could not find a breakthrough. Paulo Dybala shot right at Rui Patricio before Gonzalo Higuain saw his header go right to the Sporting keeper minutes later.
And the goal would finally come for Juventus when Cuadrado picked out Higuain with a nice ball into the area and the Argentina international chipped Patricio with his first touch to make it 1-1.