Bayern Munich's unbeaten start to the Bundesliga season came to shuddering halt as they were beaten 3-1 at Borussia Monchengladbach on Saturday.
The defending champions had won 13 of their opening 14 matches, but came unstuck at Borussia-Park as Andre Schubert's revival stepped up a gear thanks to three second-half goals.
Monchengladbach have lost just one of their 14 matches in all competitions since Schubert took over from Lucien Favre in late September.
Bayern completely dominated the opening 45 minutes but found themselves frustrated by home goalkeeper Yann Sommer, while Kingsley Coman hit the post.
And the hosts made Pep Guardiola's side pay for their wasted opportunities after the interval – Oscar Wendt firing them in front, before Lars Stindl doubled the advantage.
Munich-born Fabian Johnson made sure of a second consecutive win over Bayern when he rounded off the scoring for Schubert's men in the 68th minute, before Franck Ribery – making his first appearance in nine months – scored a late consolation.
The result lifts Monchengladbach to third in the table with fourth-placed Wolfsburg set to face Borussia Dortmund later in the day. Dortmund could close the gap on leaders Bayern to five points with victory in that match.
Guardiola - without the services of David Alaba, Douglas Costa, Arjen Robben, Thiago Alcantara and Mario Gotze through injury - named an unchanged starting XI for the first time in 100 matches, although Ribery made a welcome return to the substitutes' bench having been out since March with an ankle problem.
Monchengladbach tested Manuel Neuer inside the opening two minutes as Raffael pulled the trigger from 20 yards, before Javi Martinez headed narrowly over from a Xabi Alonso corner in Bayern's first chance.
Bayern were starting to turn the screw and, with 18 minutes on the clock, Robert Lewandowski failed to apply the finish to a slick passing move, before an unmarked Thomas Muller saw his shot from inside the box punched away by Sommer.
Medhi Benatia should have done better when he headed straight at Sommer from an Arturo Vidal free-kick in the 24th minute, but the goalkeeper could take full credit for keeping the match goalless when he produced a double save soon after.
After initially keeping out Vidal, Sommer made an excellent diving stop to deny Lewandowski on the rebound, and Coman's follow-up hit the woodwork.
Bayern's profligacy in front of goal was eventually punished when Wendt, who initially flicked on a cross from the left to Raffael, received the return pass and curled an effort beyond Neuer.
Monchengladbach had Bayern on the ropes, Julian Korb seeing an effort deflect off Neuer's boot onto the crossbar, but Stindl acrobatically lifted the ball over the Germany number one following a Nico Elvedi flick on to double the advantage in the 66th minute.
And Johnson then delivered the knockout blow two minutes later, when he was given time to bring down a Korb ball over the top and pick his spot.
Ribery's introduction 15 minutes from time - along with his well-taken 81st-minute goal - were the only positives for Bayern on an otherwise disappointing day at the office.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.