Gareth Bale strike edges Real Madrid towards last 16
Real Madrid and Paris St Germain both have one foot in the Champions League last 16 after they were held to 2-2 and 1-1 draws against Juventus and Anderlecht respectively to end their own hopes of winning every game in the group stages.
PSG need only a point from their final two matches to progress from Group C, but were forced to come from behind at home to Anderlecht.
The Belgian side took the lead through Demy De Zeeuw as he scored the club's first goal in the group stages.
A fine move saw Sacha Kljestan pass to De Zeeuw and he found the net with a sweet low drive.
PSG were level two minutes later as Ibrahimovic netted despite the best efforts of Thomas Kaminski.
The keeper did well to deny the Swede from close range, but the ball hit the post and fell to the Swedish striker, who made no mistake.
Things got worse for Anderlecht with eight minutes remaining as Kljestan was dismissed after being booked for handball. The United States international had also been cautioned in the first half for a foul on Lucas.
At the Juventus Stadium, the Italian side grabbed the lead against Real via a 42nd-minute penalty from Arturo Vidal before Ronaldo and Gareth Bale struck in eight second-half minutes by the hour mark to edge the La Liga side in front.
Fernando Llorentes, however, rescued a point for Juve to leave Real needing only a draw from their remaining two Group B games to guarantee their passage into the knockout phase.
Juve are now bottom, though, with three points after FC Copenhagen pulled off a shock 1-0 home win over Galatasaray, with Daniel Braaten striking the winner after just six minutes.
In Group D Bayern Munich were unable to repeat their 5-0 thumping of Viktoria Plzen in Germany a fortnight ago as they squeezed past the Czech side by the narrowest of margins.
Mario Mandzukic netted the only goal of the game for the Champions League holders with a 65th-minute header to maintain his side's 100 per cent record, while at the same time ending Plzen's hopes of a last 16 spot as Manchester City sealed their progression.
In Group A Shakhtar Donetsk are still in with a chance of finishing in the top two alongside Manchester United after their 0-0 draw with Leverkusen, a game in which five players were booked.