Runaway Bundesliga leader Bayern Munich lost 2-1 at Leipzig on Sunday in a rare stumble ahead of the international break.
Sandro Wagner headed the visitors into an early lead but Naby Keita equalized before the break and Timo Werner claimed the winner 10 minutes after it.
It was Bayern's third defeat in 27 league games and Leipzig's first-ever win over the Bavarian powerhouse after three losses in the Bundesliga and a defeat on penalties in the German Cup last October.
Bayern leads Schalke by 17 points with seven games remaining. It can wrap up its record-extending sixth consecutive title with a win at home over third-place Borussia Dortmund on March 31 — if Schalke drops points to Freiburg on the same day.
Schalke and Dortmund had already postponed the celebrations by winning their 27th-round games, but Wagner got Bayern fans cheering when he scored in the 12th minute.
Wagner, selected to give Robert Lewandowski a rest, was one of several Bayern players waiting to head James Rodriguez' brilliant cross inside the far post.
But Bayern failed to cope with Leipzig's pressing game and Keita deservedly equalized on a rebound after Werner's effort was blocked.
Keita then sent Werner through to score his first goal since Jan. 20 and end Leipzig's four-game winless run.
Bayern coach Jupp Heynckes, who had called up Bayern under-19 midfielder Meritan Shabani to the senior squad for the first time, sent Lewandowski on for the last 20 minutes but the Poland striker was unable to add to his league-leading tally.