Bayern Munich have been held to a 0-0 home draw by second-placed Leipzig, remaining top of the Bundesliga but failing to extend their lead in the pursuit of an eighth consecutive title.
Leipzig did well to blunt a Bayern attack, who have scored 16 goals in their last four games and dominated possession, on Sunday.
With top scorer Timo Werner struggling to hit the target, Leipzig failed to take their own chances to score on the counter-attack in the second draw between the teams this season.
Bayern lead Leipzig by one point after failing to break down a determined Leipzig defence.
Leipzig goalkeeper Peter Gulacsi made two crucial saves, first to punch away Thiago Alcantara's shot in the fifth minute, then to stop Leon Goretzka's low attempt in the 79th.
Other Bayern efforts were repeatedly blocked by Leipzig defenders.
Bayern had a penalty awarded and then taken away in the 53rd minute after Leipzig centre back Dayot Upamecano brought down Robert Lewandowski in the penalty area.
As Lewandowski stood ready to take the spot-kick, VAR showed he was offside before the foul.
Leipzig's Werner has 20 league goals this season but was out of sorts Sunday.
He missed one good chance in the first half and shot wide again when Christopher Nkunku sent him one-on-one with Bayern goalkeeper Manuel Neuer in the 63rd; the clearest chance of the game for either team.
That meant Werner failed to score for Leipzig's fourth game in a row in all competitions.
The draw ended an eight-game winning streak for Bayern in all competitions and extended Leipzig's winless streak to four games.
Earlier, the match between fourth-placed Borussia Monchengladbach and Cologne was called off with a storm expected to batter the region.
The game was postponed after talks between both clubs, the league, the police and the fire service. No new date has been set.
Gladbach had said the game itself would likely not be affected but that fans could face a dangerous journey home.