Manchester City, 2-0 down to European Champions Bayern Munich after 12 minutes, hit back for a stunning 3-2 away win to end the Germans' run of 10 consecutive Champions League wins on Tuesday.
Bayern appeared to be strolling to another win as Thomas Mueller and Mario Goetze, helped by poor defending, put them quickly in control.
City, missing several regulars, composed themselves and David Silva began the fightback with a goal just before the half-hour. Aleksandar Kolarov levelled with a penalty in the 59th minute and James Milner side-footed the winner three minutes later.
Both teams had already qualified for the knockout phase and finish Group D with 15 points each, Bayern keeping top spot on their head-to-head record.
It was Bayern's second defeat since Pep Guardiola took over as coach this season, the first having come in the season-opening German Super Cup.
Bayern, who had won their last 11 games in all competitions, went ahead with a simple goal after only five minutes.
Dante sent a long, raking diagonal ball out of defence and Mueller got behind his marker and placed the ball behind Joe Hart.
Bayern scored again in the 12th minute helped by woeful City defending at a corner. The ball fell at the feet of Mario Mandzukic and he had time to slip it to Goetze, who stroked the ball home from close range.
City showed signs of life and pulled a goal back in the 29th minute, when Jesus Navas crossed from the right, Milner headed the ball back across goal at the far post, and David Silva scored from close range.
Bayern appeared to have lost concentration but there was still an air of disbelief when Milner was tripped by Dante, going down under minimal contact, and Kolarov converted a low penalty to Manuel Neuer's right.
The hosts barely had time to recover from that when Jerome Boateng failed to clear a low cross from Navas and Milner confidently placed his shot low into the far corner.
Relief for Moyes, record for Ronaldo
Manchester United midfielder Phil Jones grabbed the winner to make sure they finished top of Champions League Group A as they eliminated Shakhtar Donetsk 1-0 at Old Trafford.
England international Jones cracked home a low volley in the 67th minute to secure a win for United, top of their group before kickoff but having lost their last two Premier League home matches, and ease the pressure on manager David Moyes.
Ukrainian champions Shakhtar, who needed to match Bayer Leverkusen's result at Real Sociedad to progress, finished third and go into the Europa League after Leverkusen held on for a 1-0 win in Spain that took them through to the knockout phase.
|Ronaldo celebrates a record-breaking performance in Copenhagen [EPA]
Shakhtar's Brazilian trio of Taison, Alex Teixeira and Luiz Adriano gave vulnerable United a torrid time early on, but Mircea Lucescu's side could not convert any of their promising opportunities and they fell away after Jones broke the deadlock.
Real Madrid's Cristiano Ronaldo set a Champions League group phase scoring record on Tuesday as Bayer Leverkusen and Olympiakos Piraeus reached the last 16 and snow forced Galatasaray's match with Juventus to be abandoned.
Leverkusen's 1-0 win at Real Sociedad put them through as runners-up behind Group A winners Manchester United. The Bundesliga side's victory lifted them above Shakhtar Donetsk into second.
Javier Saviola scored twice as Olympiakos pipped Benfica to second spot in Group C by beating visitors Anderlecht 3-1 in an extraordinary match in which the Belgians finished with eight men after the Greeks scored one penalty having missed two.
Benfica beat group winners Paris Saint-Germain 2-1 but drop into the Europa League.
Prolific Ronaldo took his tally to nine for the campaign in Real's 2-0 win at FC Copenhagen, with the nine-times champions also setting an all-time record in European competitions by netting in 31 successive matches.
Galatasaray or Juventus will join Group B winners Real in the knockout stage when they return to finish their match in Istanbul on Wednesday.
The players were taken off the Ali Sami Yen stadium pitch after 32 minutes following heavy snowfall with the score at 0-0.
The match will resume at 1200 GMT.
More to follow.