(CNN) -- Brazilian Alexandre Pato scored twice as AC Milan stunned Real Madrid 3-2 in a thriller at the Bernabeu to get their Champions League Group C challenge back on track.
AC Milan celebrate their late winner as they defeated Real Madrid 3-2 in a Bernabeu classic.
Madrid took a 19th minute lead when Milan goalkeeper Dida dropped Esteban Granero`s head-high shot, despite appearing to have it under control, and an alert Raul nicked the ball away from the Brazilian before side-footing into an empty net for the 66th Champions League goal of his career.
However, completely against the run of play, Milan not only found an equalizer but also managed to take the lead in a remarkable four-minute second-half spell that turned the game upside down.
The Serie A side drew level in the 62nd minute when Iker Casillas was beaten at his right-hand post by Andrea Pirlo's 35-yard thunderbolt, and then the Spanish No.1 raced out to meet Massimo Ambrosini`s through-pass only to see the ball slid past him off the rain-soaked surface and present Pato with an open net.
CNN's Pedro Pinto wonders how long Manuel Pellegrini will have to remedy Real's shortcomings.
Madrid made it 2-2 with 14 minutes to go when Dutchman Royston Drenthe -- who has suffered from the Bernabeu boo-boys in the past -- brought down Raul`s corner on the edge of the box before drilling home a low left-footed shot just inside the post.
With a draw seeming to be on the cards, Milan stole the points with two minutes remaining when former Madrid midfielder Clarence Seedorf picked out the unmarked Pato and he volleyed home at the far post.
The result was only Madrid's second competitive defeat of the season and gave Leonardo's side the perfect boost after their home loss to Zurich on Matchday Two. Milan and Madrid are now level at the top of the group on six points.
In the other group match, a rare moment of quality from Gabriel Heinze settled a poor game as Marseille won 1-0 at Zurich.
Lucho Gonzalez crossed from the right and former Manchester United defender Heinze was left unmarked beyond the far post to send a neat side-foot volley curling back into the far corner in the 69th minute.
After defeats by AC Milan and Real Madrid, the win represented the first points of the campaign for Marseille, who put themselves back into the qualification picture, and also broke a run of six straight Champions League away defeats.
Bordeaux made it a great night for French football as they beat nine-man Bayern Munich 2-1 in a dramatic Group A match which saw the home side miss two penalties while Michael Ciani scored at both ends.
Ciani diverted Philipp Lahm's cross into his own net to give Bayern a sixth minute lead, but the same player levelled in the 29th minute when he met a cross at the near post with an exquisite backheel just inside the post.
Bayern were reduced to 10 men just a minute later when Thomas Muller was shown a second yellow card for a foul on Matthieu Chalme -- and the French champions took advantage of their extra man by going ahead in the 41st minute.
Turkish international Hamit Altintop tried to clear a Wendel free-kick, but he only managed to divert the ball against the foot of Marc Planus and into the top corner.
The home side were awarded their first penalty when Hans-Jorg Butt fouled Marouane Chamakh after he was caught in possession.
However, the goalkeeper redeemed himself when sticking out his arm to keep out Yoann Gourcuff's cheeky chipped penalty.
Bayern were reduced to nine men in the 88th minute when Daniel Van Buyten was dismissed after giving away the second penalty of the night, but Butt made another save -- this time from Brazilian striker Jussie.
Meanwhile, also in Group A, Juventus made life hard for themselves but held on to defeat 10-man Maccabi Haifa 1-0 to earn their first win of the competition.
Giorgio Chiellini's header from Diego's free-kick early in the second half was enough to hand the Bianconeri all three points in Turin.
The visitors were handed a blow when midfielder Tiago Dutra was shown a straight red card with 22 minutes remaining after a hard tackle on Chiellini.
Despite their numerical superiority, Juve failed to extend their lead as Maccabi went in search of the equalizer but the hosts held on for victory.
The result leaves Juventus second in the standings on five, two points behind leaders Bordeaux. Bayern are third on four points while Israeli side Haifa are without a point after their three matches.