Kylian Mbappe scored twice as Paris Saint-Germain ended holders Bayern Munich's 19-match unbeaten Champions League run by winning a quarter-final first-leg thriller 3-2.
The lethal Mbappe's 31st goal of the season early on in the snow at Allianz Arena on Wednesday and a header from captain Marquinhos put PSG two goals up in a repeat of last year's final.
Eric Choupo-Moting pulled one back against his former club in the first half and Thomas Muller levelled after the break, but Mbappe had the final say with a third away goal for PSG.
Mbappe's double, which took his tally to eight goals in as many Champions League games this season, gave Mauricio Pochettino's side the upper hand heading into the second leg at the Parc des Princes next Tuesday.
Choupo-Moting headed against the crossbar early on, but it was PSG who took the lead with an Mbappe strike in the third minute.
The France striker controlled a pass from Neymar, sent off in the defeat to Lille on Saturday, before unleashing a right-footed shot that squirmed under Manuel Neuer.
Julian Draxler had a goal ruled out as Mbappe was marginally offside before PSG goalkeeper Keylor Navas superbly kept out Leon Goretzka's close-range header and a Benjamin Pavard drive.
PSG caught Bayern napping again to double their lead 28 minutes in, Marquinhos breaking the offside trap to control Neymar's pinpoint cross and calmly slotting beyond Neuer.
Marquinhos was replaced by Ander Herrera with a groin injury soon after, and his presence was missed at the heart of the PSG defence when Choupo-Moting headed home Pavard's cross eight minutes before the end of a pulsating first half in which Bayern lost injured duo Niklas Sule and Goretzka.
Neuer denied Neymar from close range and Alphonso Davies was on hand to clear Angel Di Maria's goal-bound shot off the line early in the second half.
The holders were level on the hour-mark, with an unmarked Muller rising to nod Joshua Kimmich's whipped free-kick beyond a helpless Navas.
Muller went off for treatment with blood pouring from his head moments later and Mbappe inflicted more pain on Bayern midway through the second half, driving into the area before firing inside the near post through Jerome Boateng's legs.
David Alaba came close to an equaliser when his measured shot clipped the outside of the post as PSG clung on for a precious advantage.