(CNN) -- Manchester City came from two goals down to beat Bayern Munich 3-2 in the Champions League Group D match at the Allianz Arena on Tuesday night.
City had looked dead and buried inside the first 15 minutes as Bayern raced into a 2-0 lead. Thomas Muller opened the scoring after five minutes sliding home a low left-foot shot past City keeper Joe Hart.
Seven minutes later, Mario Gotze doubled the lead capitalizing on a dithering City defense to fire home from six yards following a corner kick.
But the tide started to turn against a rampant Bayern just before the half-hour mark as David Silva slid in to score after James Milner had headed the ball into the six-yard area.
The England international was involved again for City's equalizer when he was brought down by Dante in the penalty area in the 59th minute. The resulting spot kick was tucked away without fuss by Aleksander Kolarov who sent keeper Manuel Neuer the wrong way.
Three minutes later, Milner capped a memorable night for City and himself with a low, side-foot drive past the despairing hands of Neuer.
"To go two down against that sort of side and come back and win shows how much character there is in the dressing room," Milner said afterwards.
"To come here and put in that performance gives us a lot of belief for the next round."
City's win takes them level on 15 points with Bayern but the German champions finish first on account of their superior goal difference.
Nevertheless, City and manager Manuel Pellegrini can take massive credit for the win. Not only was this Pellegrini's first win in ten attempts against Pep Guardiola, it also ends Bayern's run of 10 wins in the Champions League and 18 consecutive wins at the Allianz Arena in all competitions.
In Group D's other match Viktoria Plzen beat CSK Moscow 2-1 to finish third and seal a berth in the Europa League.
In Group A, Manchester United recorded a 1-0 win over Ukraine's Shakhtar Donetsk at Old Trafford. Phil Jones' 67th minute goal sees The English champions finish top of the group with 14 points.
David Moyes's team will be joined in the last 16 by Germany's Bayer Leverkusen. Sami Hyypia's side were 1-0 winners at Real Sociedad meaning they leapfrog Shakhtar into second.
Group C winners, Paris Saint Germain suffered their first loss in this year's Champions League campaign going down down 2-1 to Benfica at the Stadium of Light.
Despite the win, the Portuguese side lose out on a place in the last 16 by the narrowest of margins. Olympiakos' 3-1 win over RSC Anderlecht sees them squeeze through on goal difference -- Alejandro Domínguez's injury-time penalty gave the Greek champions a goal difference of plus one, compared to Benfica who ended on zero.
Turkey and snow are a perfect combination for many people around the world at this time of year, but it certainly wasn't the case for Galatasaray and Juventus on Tuesday night.
Neither players, nor fans will be feeling very festive after the abandonment of their crucial Group B match after 32 minutes following a snowstorm in Istanbul.
The ground rapidly turned from green to white as blizzard conditions descended on the Turk Telekom Arena.
As the pitch markings disappeared under a blanket of snow, Portuguese referee Pedro Proenca ordered both teams off to allow ground staff to clear the lines with shovels. But their efforts proved to no avail and the game was called off a short time later.
The match will resume on Wednesday at 12pm GMT, UEFA said in a statement.
Galatasaray need to beat Juventus to join group winners Real Madrid in the last 16. Los Blancos finished with 16 points after a 2-0 win against FC Copenhagen at the Parken Stadium.