Carlo Ancelotti's side fall to a shock defeat in Russia in the Champions League. The result all but confirms Atletico Madrid as Group D winners.
Rostov 3-2 Bayern Munich
(Azmoun 44', Poloz 50', Noboa 67' - Costa 35', Bernat 52')
Carlo Ancelotti's selection choices backfired as Bayern Munich lost to European minnows Rostov in a helter-skelter contest in Russia.
The Italian left Mats Hummels, Thomas Müller, David Alaba and Joshua Kimmich on the bench as his side conceded three times en route to their second defeat in Europe this season.
Bayern enjoyed plenty of the ball in the early stages but Rostov sat deep and made it difficult for the Bundesliga champions to break them down on freezing night.
There were a couple of close calls with Soslan Dzhanaev forced into a good save to deny a good effort from distance by Renato Sanches.
Bayern made the breakthrough when Rostov half cleared the ball to Douglas Costa, who rifled his shot into the roof of the net.
But any hopes Bayern had that the opening goal would open the floodgates were extinguished when Sardar Azmoun leveled for Rostov a minute before half time, seizing on a stray pass by Costa and holding off Jerome Boateng before finishing well past Sven Ulreich, standing in for the injured Manuel Neuer.
Given that Bayern thrashed Rostov 5-0 when the sides met at the Allianz Arena in September, Rostov's second goal of the night stunned the visitors. Boateng was penalized for a trip on Noboa, and Dimitri Poloz calmly slotted home the penalty, sending Ulreich the wrong way.
But Bayern's response was immediate. Juan Bernat latched onto Franck Ribery's throughball and lashed the ball into the roof of the net from close-range.
The unpredictable contest took another twist as Rostov raised the roof with a brilliant third goal, courtesy of Noboa, who curled in a beautiful free kick from 20 meters, after Thiago Alcantara had fouled Poloz on the edge of the box.
Some heroic Rostov defending followed and Hummels and Müller were brought off the bench as Bayern chased an equalizer, but it was too little too late for a Bayern side that have now lost back-to-back games for the first time since May 2015.
This stunning result leaves Atletico Madrid in firm control of Group D, with Diego Simeone's side simply needing to beat the other team in the group, PSV Eindhoven, to progress to the last 16 as group winners.