Bayern cruised into a two-goal lead inside 12 minutes at the Allianz Arena thanks to strikes from Thomas Muller and Mario Gotze.
But goals from David Silva, Aleksandar Kolarov and James Milner earned City all three points, ending the Germans' record run of 10 consecutive Champions League wins.
Silva reduced the arrears just before the half-hour with a close-range finish from Milner's header back across goal, before the England man was brought down in the area by Dante before the hour.
That presented Kolarov with the chance to draw City level and the Serbian made no mistake, confidently sending Manuel Neuer the wrong way from the spot.
But Milner's work wasn't quite done in Bavaria, with the midfielder punishing former City defender Jerome Boateng's sliced clearance with an emphatic curling finish just three minutes later.
A fourth goal would have seen Manuel Pellegrini's men finish top of Group D but while that ultimately proved elusive, City came away from the Allianz Arena with a memorable and spectacular 3-2 win.
Enjoy the best of the action from our victory on this day eight years ago via the video above...