Here's our verdict on how the players fared:
WOJCIECH SZCZESNY: Made a fine save from Toni Kroos in the second minute before clattering Arjen Robben, to concede a penalty and receive a red card. Reacted with gesture which may see him censured by UEFA - 5/10.
Loading article content
BACARY SAGNA: Tested by Bayern's attacking force and held firm. Forced the visitors to look to the opposite flank for progress - 7.
PER MERTESACKER: A composed performance at the heart of the defence. Made a number of vital interventions - 7.
LAURENT KOSCIELNY: Central to Arsenal's rearguard action, but fortunate not to concede a penalty for challenge on Thomas Muller - 6.
KIERAN GIBBS: Dealt well with Bayern's threat down his flank before being forced off with a hamstring injury - 6.
MATHIEU FLAMINI: A difficult evening tracking the runs of Arjen Robben, Toni Kroos and Mario Gotze before marshalling the troops - 6.
ALEX OXLADE-CHAMBERLAIN: A speedy, powerful performance. Troubled David Alaba before putting in a sterling defensive shift - 7.
JACK WILSHERE: Lively display. Fine pass to Mesut Ozil saw German awarded a penalty before Englishman focused on defensive duties - 7.
MESUT OZIL: Sublime skill to earn a penalty, which he struck poorly and saw saved. Had to be goaded by team-mates to mark tighter in the second half - 6.
SANTI CAZORLA: Showed signs of invention before being sacrificed for Lukasz Fabianski to enter the fold - 6.
YAYA SANOGO: A surprise selection ahead of Olivier Giroud. Early shot saved by Manuel Neuer. Was unable to hold the ball up and give his team-mates much respite - 5.
NACHO MONREAL (for Gibbs, 31 minutes): Was targeted down Bayern's right, but dealt with the threats - 6.
LUKASZ FABIANSKI (for Cazorla, 39): Could do nothing about Toni Kroos' strike. Saved well from Robben - 7.
TOMAS ROSICKY (for Oxlade-Chamberlain, 74): Made some vital tackles and tried to operate as an outlet to ease the onslaught - 6.
MANUEL NEUER: Saved friend and Germany team-mate Ozil's penalty and denied Arsenal on a number of other occasions - 7.
PHILIPP LAHM: Played as an auxiliary winger in the first half and slotted into midfield in the second. Played both positions brilliantly and supplied cross for Thomas Muller's header - 7.
DANTE: Elegant, unruffled performance alongside error-prone Jerome Boateng. A sweeper in the second half as Bayern pushed on - 7.
JEROME BOATENG: Fouled Ozil for the penalty and endured a torrid evening against the enigmatic Sanogo - 4.
DAVID ALABA: Relieved to see Neuer and not Oxlade-Chamberlain reach his mis-hit back-pass first. Missed penalty - 5.
THIAGO ALCANTARA: Did the simple stuff well and helped to push Bayern on in the second half - 6.
JAVI MARTINEZ: A challenging first half tracking the runs of Ozil, Cazorla and Wilshere. Deployed deeper in the second and untroubled - 6.
TONI KROOS: Fine game capped by an excellent goal. Played the lofted pass which earned Arjen Robben a penalty. Tested Szczesny and hit post - 9.
MARIO GOTZE: Made some strong runs and fine passes, put was outshone by Kroos and Robben - 7.
ARJEN ROBBEN: The ex-Chelsea forward was a nuisance all night. Fouled by Szczesny for the penalty and created numerous openings - 8.
MARIO MANDZUKIC: A less-than-effective focal point of Bayern's attack. Headed wide and mis-controlled with the goal gaping - 5.
RAFINHA (for Boateng, HT): Deployed at right-back in a reshaped Bayern for the second half. Did well - 6.
THOMAS MULLER (for Mandzukic, 65): Converted Lahm's cross to give Bayern a commanding two-goal lead entering the second leg - 7.
CLAUDIO PIZARRO (for Alcantara, 79): Little opportunity to make an impact in the closing stages - 6.