Striker Alexandre Pato volleyed a superb late winner to lift AC Milan to a 3-2 win over Real Madrid in Champions League Group C on Wednesday.
Brazilian Pato condemned Real to their first defeat in the competition this season when he volleyed home at the back post two minutes from time.
Real took the lead through Raul after a dreadful error from Milan keeper Dida in the 19th minute, his strike equalling Gerd Mueller's record of 66 goals in the three main European club competitions - the European Cup/Champions League, Cup Winners Cup and UEFA Cup/Fairs Cup.
The hosts were comfortably in control until a stunning 30-metre shot from Andrea Pirlo beat Iker Casillas at his near post in the 62nd minute, and keeper Casillas gifted Brazilian Pato Milan's second four minutes later.
Real substitute Royston Drenthe crashed in an equaliser after 76 minutes before Pato struck again.
Milan and Real have six points from three matches, with Olympique Marseille and FC Zurich on three points.
Milan's attacking line up failed to trouble the hosts early on as they were starved of the ball with Real dominating possession.
Real were unlucky not to win a penalty after 14 minutes when Gianluca Zambrotta brought down Karim Benzema without getting the ball, but openings were proving hard to find.
Milan held firm until Dida gifted Raul the opening goal, when he spilled the ball in the area under no pressure after collecting Esteban Granero's tame shot.
Brazilian midfielders Kaka and Ronaldinho had hogged the pre-match headlines but they had a quiet evening.
Real's Kaka was a peripheral figure against his former club, while Milan's Ronaldinho was whistled and jeered every time he touched the ball for the five-year spell he spent with Real's arch rivals Barcelona.
The match burst into life unexpectedly when Pirlo stunned everyone with a shot from distance that flew past Casillas.
Suddenly Milan had their tails up and Massimo Ambrosini's long pass through for Pato provoked an error from Casillas.
The Spain goalkeeper raced out of his area, misjudged the ball and Pato scampered past him to score into the empty net.
Real drew level when Raul's corner was pulled back to an unmarked Drenthe on the edge of the area, and the Dutchman drilled a low shot just inside the post.
The game opened up and Milan thought they had grabbed a winner when Thiago Silva powered in a header, but the goal was ruled out for a foul in the area.
Milan silenced the home crowd in the 88th minute when Clarence Seedorf flipped a ball over to the backpost and Pato raced in to crack his volley past Casillas.