Thierry Henry struck just seconds after half-time to give Arsenal a stunning Champions League victory over Real Madrid in the Bernabeu.
Henry celebrates scoring Arsenal's winner
Henry shrugged off several challenges to steer a finish past Iker Casillas as Arsenal became the first English side to beat Real in the Spanish capital.
Arsenal thoroughly deserved their victory, with Henry and Jose Antonio Reyes missing other good chances.
David Beckham wasted Real's best two chances in the first half.
Arsenal's display was in sharp contrast to their Premiership struggles as they dominated Real for long periods and left the Galacticos in the shade to take a giant stride towards the last eight.
Arsene Wenger's under-strength squad performed with great maturity in the first 45 minutes and should have gone in at half-time with a healthy lead.
Henry set up Reyes in the second minute and it took a fine one-handed save from Casillas to prevent Arsenal from grabbing an instant advantage.
Real lost Jonathan Woodgate inside the first 10 minutes as he limped off with a hamstring strain - and it took a brilliant saving tackle from Roberto Carlos to rescue the Spanish giants as Arsenal threatened again.
Henry was the creator again, playing in Freddie Ljungberg, who rounded Casillas but was denied by the veteran Brazilian as he looked poised to score.
And Henry should have given Arsenal the lead after nine minutes when he rose unmarked to meet Reyes' cross, but headed off target.
Real finally posed a danger after 26 minutes when Zinedine Zidane's cross found Beckham, but his header was misdirected.
And the England captain wasted a glorious chance to put Real ahead six minutes later when Ronaldo robbed Philippe Senderos to send Beckham clear, but Lehmann was quickly out at his feet.
Arsenal got the lead their performance deserved immediately after the break when Henry surged past four Real challenges and punished the slack defending with a left-foot finish across Casillas.
Real were struggling to exert any authority, and inevitably Raul was introduced in place of the ineffective Robinho after 62 minutes.
And within six minutes he almost drew Real level with a flicked header from Beckham's free-kick that flew off target.
Arsenal were still a danger, and substitute Aboud Diaby almost marked his entry with a goal after 89 minutes, but once again Casillas saved at his feet.
Beckham almost created an equaliser for Ronaldo at the end of five minutes of injury time, but he failed to connect with an inviting cross.
Real Madrid: Casillas, Cicinho, Sergio, Woodgate (Mejia 9), Carlos, Gravesen (Julio Baptista 76), Beckham, Guti, Zidane, Robinho (Raul 63), Ronaldo.
Subs Not Used: Cobeno, Salgado, Cassano, Diogo.
Booked: Cicinho, Casillas.
Arsenal: Lehmann, Eboue, Toure, Senderos, Flamini, Ljungberg, Hleb (Pires 76), Silva, Fabregas (Song Billong 90), Reyes (Diaby 80), Henry.
Subs Not Used: Almunia, Walcott, Djourou, Lupoli.
Booked: Silva, Reyes.
Goals: Henry 47.
Ref: Stefano Farina (Italy).