It was a night to forget for Jupp Heynckes' charges, whose nine-match winning run came to an abrupt end, after a dire defensive display gifted goals to Aleksandr Pavlov and Vitali Rodionov. Franck Ribery's injury-time strike set up a grandstand finale, but it was BATE who had the final say as Renan Bressan clinched the win with the last kick of the match.
Bayern had some defending to do in the early stages, with Manuel Neuer having to claw away Edgar Olekhnovich's near-post effort just five minutes in. The Bundesliga leaders found space limited going forward, and when they did make progress, Mario Mandzukic could only direct Ribery's pinpoint cross wide.
The Bavarian engine was beginning to purr when Toni Kroos tickled the foot of the post after picking the pockets of BATE skipper Dmitri Likhtarovich and rounding the goalkeeper, before a marginal offside decision denied Mandzukic from close range. The Belarusians weren't just making up the numbers, though, and punished some comical defending to take a 23rd-minute lead through Pavlov.
Thomas Müller warmed the palms of BATE keeper Andrei Gorbunov as Bayern scrambled around for an immediate equaliser, but the Minsk-based club otherwise made life incredibly uncomfortable for the visitors, reducing the Reds to long-ball tactics for much of the half.
Heynckes might have been lamenting his decision not to ring the half-time changes as BATE set about their task with a renewed sense of purpose, with Olekhnovich forcing the best out of Neuer after 55 minutes. That proved the last straw for the Bayern coach, who promptly replaced Javi Martinez with Bremen tormentor Xherdan Shaqiri.
BATE at the double
Still BATE carried the greater threat, though, as ex-VfB Stuttgart midfielder Aleksandr Hleb found the feet of Rodionov, who rolled Dante and slammed wide. The warning signs were there for all to see, but Bayern failed to take heed and were hugely fortunate not to be further behind as Pavlov ballooned over when it looked easier to score.
Heynckes put all his cards on the table with the introduction of Claudio Pizarro and Bastian Schweinsteiger, but it was BATE who were celebrating when Rodionov left Jerome Boateng on the deck and smashed past Neuer in the 78th minute. Ribery reduced the arrears in injury time, only for Bressan to add a breakaway third as the hosts replaced Bayern as Group F leaders
Gorbunov - Polyakov, Filipenko, Simic, Bordachev - Likhtarovich (Sivakov 66'), Olekhnovich, Pavlov (Bressan 84'), A. Volodko - Hleb - Rodionov (Mozolevski 87')
Neuer - Lahm, Boateng, Dante, Badstuber (Schweinsteiger 76') - Javi Martinez (Shaqiri 58'), Gustavo - T. Müller, Kroos, Ribery - Mandzukic (Pizarro 75')
Goals: 1-0 Pavlov (23'), 2-0 Rodionov (78'), 2-1 Ribery (90+1'), 3-1 Bressan (90+4')