Paris Saint-Germain missed the chance to finish the Champions League group stage with a 100 per cent record as they suffered a 3-1 defeat at Bayern Munich.
Bayern's 3-0 defeat at the Parc des Princes in the reverse fixture in September marked the end of the Carlo Ancelotti era at the Allianz Arena and Die Roten fans may now see that painful evening as a blessing as PSG's star-studded forward line was delivered a lesson in ruthlessness by Jupp Heynckes' men.
Kylian Mbappe and Neymar spurned chances for PSG while Edinson Cavani, save for a neat touch to set up Mbappe for the goal that cut Bayern's lead to 2-1, struggled to make a lasting impression.
By marked contrast Bayern needed little invitation to take full advantage of their attacking openings, Robert Lewandowski's opener and a brace from former Lyon midfielder Corentin Tolisso doing the damage.
For all PSG's lavish spending, there was some irony in the fact Kingsley Coman, who they allowed to join Juventus in 2014, supplied the assist for the opener and the goal that put the game to bed.
A disappointing evening for the Ligue 1 leaders was compounded by Thiago Silva being forced off through injury, but PSG can at least console themselves with top spot in Group B, second-placed Bayern unable to record the four-goal margin of victory needed to leapfrog them.
PSG needed only three minutes to test the reflexes of Sven Ulreich in the Bayern goal, Mbappe denied at the near post after a fine ball from Marco Verratti.
But, against the run of play having sat deep for much of the early exchanges, Bayern took the lead five minutes later.
James Rodriguez's left-wing cross was headed forward by Coman and, though PSG stopped awaiting the offside flag, it was not forthcoming and Lewandowski - being played on by Dani Alves - swept into the bottom-right corner.
Bayern grew in ambition as they pressed for a second goal but the direct running and pace of Mbappe and Neymar caused them problems, the latter forcing Ulreich to turn the ball behind after he was played in by the former Monaco teenager.
And Bayern punished PSG for Neymar's profligacy eight minutes before half-time as Tolisso rose to thump a James delivery into the bottom-left corner.
PSG's response was strong as Neymar provided more work for Ulreich with a low shot that he could only parry, but his save from Julian Draxler's sweetly struck long-range effort was more comfortable.
Ulreich could do little when PSG did pull one back through Mbappe's fourth of the competition.
10 - At 18 years & 11 months, Kylian Mbappe is now the youngest player to reach 10 goals in the Champions League (in only 15 games). Wonderkid. pic.twitter.com/iLzlqqT25G — OptaJean (@OptaJean) December 5, 2017
Unsurprisingly Verratti was the creative fulcrum, his lofted pass beautifully controlled by Cavani, who chipped up for Mbappe to nod beyond Ulreich.
Unai Emery's men ramped up the pressure in their bid to complete the comeback. Ulreich was unmoved as he denied Draxler after the Germany international exchanged passes with Neymar, but he soon had to fly to his left to keep out a rasping Mbappe half-volley.
Cavani was furious not to be awarded a penalty after he was sent tumbling in the box by a David Alaba challenge and PSG's indignation was soon furthered when Coman raced down the left and slipped the ball into the path of Tolisso to restore Bayern's measure of command.
More concern for Emery came when Silva limped off having earlier received treatment and was replaced by Presnel Kimpembe.
Mbappe saw an effort deflected over and was brilliantly denied by Ulreich in stoppage time but PSG never really threatened what would have been a remarkable late revival.
And, with this defeat coming on the heels of a stunning 2-1 loss to Strasbourg in Ligue 1, Emery will know there is plenty of work to be done if PSG are to achieve their lofty goal of European glory.