(5-5 on aggregate, Monaco win on away goals)
Monaco launched a stunning second-half comeback to knock out Real Madrid and book a semi-final against Chelsea.
Real looked on course when they stretched their aggregate lead to 5-2 with a superb strike from Raul.
But Ludivic Giuly's low volley gave Monaco hope before half-time and on-loan Real striker Fernando Morientes made it 2-1 on the night with a header.
Giuly's clever backheel put Monaco's fans in dreamland and though Raul twice went close, the French side held on.
There was little sign of the drama to follow in a sedate opening spell.
With Real happy to protect their lead, Monaco had plenty of possession but they lacked urgency on the attack.
It took almost 30 minutes for the hosts to come alive.
Morientes forced Iker Casillas into an athletic save with a venomous strike from a free-kick.
35 mins: Raul puts Real ahead
45 mins: Guily hits back for Monaco
48 mins: Morientes gives Monaco real hope
66 mins: Giuly puts Monaco ahead on away goals
Monaco's fans responded and Real's nerves were clearly rattling when Ivan Helguera brought down the marauding Patrice Evra on the left wing and received the first booking of the game.
But just as Monaco were looking the more likely scorers, the visitors struck through Raul.
Ronaldo went on an incisive run through the left channel and passed across the edge of the box where Guti's clever dummy left Raul in space to guide the ball home.
The goal took Raul past Ferenc Puskas on the all-time scorers list for Real, and should have put the Spanish champions in complete control.
But Monaco responded before half-time when Evra's cross fell kindly for Giuly and he fired a low volley into the corner.
Within minutes of the start of the second-half, Monaco were suddenly sensing an upset which had looked so unlikely at the beginning of the evening.
Evra was again involved, his long cross floated towards Morientes who beat Helguera and sent a looping header beyond the grasp of Casillas.
With Giuly frantically urging his team-mates on, Monaco kept surging forwards and it was the Monaco skipper who put his side ahead on away goals.
Subsitute Shabani Nonda fired in a cross which Giuly brilliantly back-heeled through Carlos' legs and past Casillas.
Real were forced into some desperate action and thought they had re-established their lead, but Raul's header was disallowed for offside.
After 65 minutes, Raul should have put the visitors back in control but having been put through by Carlos, he sent his effort wide, leaving the Monaco fans breathing a sigh of relief.
Nonda twice hit the bar for Monaco in a frantic end to a thrilling game, and Raul was again off target in the dying minutes but Monaco prevailed.
Monaco: Roma, Evra, Ibarra, Rodriguez, Givet, Plasil, Giuly (El Fakiri 82), Cisse, Rothen, Prso (Nonda 61), Morientes (Adebayor 84).
Subs Not Used: Sylva, Juan, Grax, Lescure.
Real Madrid: Casillas, Salgado (Bravo 84), Carlos, Helguera, Mejia, Zidane, Guti (Portillo 87), Borja (Solari 71), Raul, Ronaldo, Figo.
Subs Not Used: Cesar, Pavon, Cambiasso, Nunez.
Booked: Helguera, Borja.
Referee: Pierluigi Collina (Italy).