Manchester United were held to a goalless draw by PSV Eindhoven at Old Trafford on Wednesday night, meaning their Champions League hopes will depend on the final group game away at Wolfsburg.
Wayne Rooney returned to United's starting XI after missing Saturday's 2-1 win at Watford, but Louis van Gaal's side could not find a way through PSV's defence as the Eredivisie champions held on for a valuable point.
Anthony Martial and Jesse Lingard both wasted presentable chances as the draw leaves Wolfsburg a point ahead of United in first, with the Red Devils likely to need a win in Germany to reach the last 16.
Wolfsburg are on the brink of qualifying for the knockout stages after winning 2-0 at CSKA Moscow.
Substitute Andre Schurrle scored the second having inspired an own goal from Igor Akinfeev earlier in the second half, securing three points in one of this season's most competitive groups.
Wolfsburg's crucial breakthrough came in the 67th minute. Following a long pass from Dante, Bas Dost played a composed touch into Schurrle's path and the forward, despite the angle being against him, sent in a low shot that goalkeeper Akinfeev diverted into the back of his net.
With two minutes remaining, Schurrle scored a volley that his earlier effort perhaps deserved.
Wolfsburg move onto nine points in Group B with just a home match against Man United remaining, while CSKA remain in contention to finish third and progress to the Europa League.
Manchester City lost control of Group D as Mario Mandzukic scored in Turin to hand Juventus a 1-0 victory and qualification for the last 16.
City had already qualified with two games to spare, though Fernandinho wasted a glorious chance to open the scoring against last season's Champions League finalists after 17 minutes.
The midfielder blazed over the bar from close range with the goal at his mercy, and City were made to pay for the miss soon after -- Paul Pogba surged through a minute later to feed Alex Sandro, whose left-wing cross was volleyed home by Mandzukic after Nicolas Otamendi lost his footing in the area.
Joe Hart then denied Juve a second 27 minutes in with a stunning left-handed stop from a Mandzukic volley on the turn before being replaced late on due to an injury, while Gianluigi Buffon was typically superb as Juve held on to leapfrog City into first place.
U.S. international Fabian Johnson scored a stunning goal as Borussia Monchengladbach kept themselves in contention for a Europa League spot with a 4-2 victory over Sevilla in Germany.
Sevilla had an early strike disallowed as the ball was adjudged to have run out for a goal kick, and another borderline call then handed Gladbach the lead on the half-hour as Lars Stindl ran onto a cross-shot to tap in at the back post amid suggestions of offside.
Johnson then added a second for Gladbach in style, bending a 20-yard effort into the top corner before Raffael coolly finished to make it three.
Vitolo gave Sevilla hope with eight minutes left, but Stindl scored his second a minute later to restore the three-goal advantage -- only for Ever Banega to add a late penalty for the Spaniards.
Zlatan Ibrahimovic enjoyed a goal-scoring return to Malmo as Paris Saint-Germain ran out comfortable 5-0 winners in Sweden to reach the last 16.
All the pregame talk was of Ibrahimovic returning to his former club, and the Sweden captain had a hand in the opening goal. The forward was involved in the build-up before Gregory van der Wiel crossed from the right flank, with Adrien Rabiot nodding a well-placed header into the bottom corner after four minutes.
It didn't take long for PSG to add a second as Angel Di Maria coolly finished a low Blaise Matuidi cut-back from the left flank 10 minutes later -- the 7000th goal in Champions League history.
PSG keeper Kevin Trapp had to be alert to prevent halving the deficit with a superb close-range save from Jo Inge Berget 23 minutes in, but Ibrahimovic wrapped up the contest five minutes before half-time -- his tight shot proving too powerful for keeper Johan Wiland.
Di Maria headed in his second 22 minutes from time and Lucas curled home a delightful late free kick for the fifth.
Cristiano Ronaldo scored twice and set up two more as Real Madrid survived a late comeback to win 4-3 at Shakhtar Donetsk.
Madrid had already qualified for the knockout stages with two games to spare, but looked determined to put Saturday's Clasico drubbing behind them as they got forward early on, though Ronaldo missed a fine chance early on.
The forward then made amends after a defensive mix-up from Shakhtar allowed Gareth Bale to nip in and cross for Ronaldo, who raced onto the ball to head home from an acute angle.
Shakhtar then grew into the game as Raphael Varane departed with a hamstring injury, but Ronaldo turned provider early in the second half as he broke the offside trap before feeding Luka Modric to slam home from 10 yards.
Dani Carvajal made the game safe two minutes later as Ronaldo got another assist, passing to the right-back who nutmegged his marker before curling a sweet strike over Andriy Pyatov.
Ronaldo tapped home a rebound 18 minutes from time for the fourth before Alex Teixeira gave the hosts hope, with Dentinho adding a brace to set up a grandstand finale -- but Real held on.
Atletico Madrid ensured qualification for the knockout stages as Antoine Griezmann's brace earned a 2-0 home victory against Galatasaray.
The France international opened the scoring after 12 minutes with a fine header from eight yards out, nodding Gabi's cross from the right wing high past Gala goalkeeper Fernando Muslera.
Muslera made a good stop to prevent Koke volleying in at the back post 56 minutes in, but Griezmann got his second of the night eight minutes later with a tap-in from six yards.
Raul Jimenez scored twice as Benfica fought back from two goals down to draw 2-2 with FC Astana in Group C to reach the last 16.
Following a promising start, Patrick Twumasi and Marin Anicic had given Astana the lead, but a Jimenez-inspired Benfica gradually drew level.
The result ended Astana's already narrow hopes of progressing to the knockout stages but will keep them in contention for a Europa League place after Galatasaray lost at Atletico Madrid, with Atleti going top on goal difference.