Hertha Berlin midfielder Ondrej Duda scored his fifth goal in as many league games on Friday as Bundesliga leaders Bayern Munich suffered a shock 2-0 away defeat. Berlin were deservedly 2-0 up at half-time at the sold-out Olympic Stadium in front of 74,669 fans, stunning Bayern thanks to a Vedad Ibisevic penalty before Slovakia's Duda, the league's top-scorer, added a stunning second.
"It's not every day that you get a win over Bayern," said Hertha captain Ibisevic whose side are now level with Bayern on 13 points at the top of the table.
"The key was that we believed and the guys ran themselves into the ground."
Niko Kovac suffered his first defeat in nine games as Bayern's head coach.
"They shouldn't have happened," he fumed after Bayern made many mistakes, especially in the first half.
"We shouldn't start talking badly about everything now -- anyone who knows Bayern knows we won't put up with that".
The defeat came at Kovac's old club and at the worst possible time with a Champions League game at home against Ajax looming on Tuesday.
Hertha coach Pal Dardai celebrated his first win over Bayern - the club's first victory against Munich since 2009 and at the 15th attempt.
Berlin climbed to second, level on 13 points with Bayern but the Bavarian giants could be knocked off the top on Saturday if their rivals win on the road.
Borussia Dortmund, who are at Bayer Leverkusen, and Werder Bremen, who are at Stuttgart, are only two points behind.
Borussia Moenchengladbach, three points adrift of Bayern, also have a chance when they play Wolfsburg away.
Bremen and Dortmund are now the only unbeaten teams in Germany's top flight.
Bayern were that crucial half a metre short of where they needed to be while Hertha snapped up every chance on Friday.
"A few small things were missing and that made a big difference," admitted Bayern captain Manuel Neuer.
"The lack of finishing our chances is a big topic. We have to put those away, that was missing again."
Kovac made five changes from the side which conceded a late equaliser in Tuesday's 1-1 draw at home to Augsburg.
Jerome Boateng, Thiago Alcantara, James Rodriguez, Franck Ribery and Robert Lewandowski came into the starting line-up.
Yet even with their stars reinstated, Bayern could not break the Berlin defence or finish their chances.
In contrast, Hertha made their first clear chance count when Duda played a superb diagonal ball into the area.
Bayern goalkeeper Neuer parried Ibisevic's header, but the ball bobbled out to Salomon Kalou, who was brought down on the right side of the box by Jerome Boateng.
The referee pointed to the spot and Hertha captain Ibisevic converted the penalty with 22 minutes gone.
The second Hertha goal was simple and brutally effective.
Kalou put a pass in behind the defence to left-back Valentino Lazaro, who produced a close-range cross which Duda slammed into the net on 44 minutes.
Such was the speed of the shot that neither Bayern centre-back Niklas Suele nor Neuer had time to react.
It was the first time Bayern found themselves 2-0 down at the break in a Bundesliga game since November 2017, when losing 2-1 at Borussia Moenchengladbach.
In an effort to turn things around, Kovac brought on Germany forward Thomas Mueller for Arjen Robben and winger Serge Gnabry for Renato Sanches.
It just was not Bayern's night and even a long-range attempt from their free-kick specialist David Alaba flew harmlessly wide.
With time running out, Kovac opted for two strikers with Sandro Wagner replacing James Rodriguez to partner Lewandowski, but Hertha's defence held firm.