Bayern Munich laboured to what could be a vital win in the Bundesliga title race as Niklas Sule's goal saw off 10-man Werder Bremen 1-0.
Bayern went into the encounter having scored 27 goals in their previous six Bundesliga matches, but they were frustrated until Sule's deflected effort beat the impressive Jiri Pavlenka.
Bremen's goalkeeper made a string of top saves prior to Sule's winner, while Thomas Muller squandered a great chance after Milos Veljkovic saw red in the 58th minute.
But, unfortunately for second-place Borussia Dortmund – who face Freiburg on Sunday – Bremen could not hold on, and Bayern are now four points clear in pole position with four games remaining.
Despite a bright Werder start, Bayern soon took control, and they would have been ahead if not for an excellent save by Pavlenka, who stuck out a leg to divert Serge Gnabry's close-range volley wide.
Gnabry was twice denied in quick succession shortly after the restart – Veljkovic on hand to clear a scuffed effort off the line before Pavlenka made a smart stop at his near post.
Pavlenka pulled off another superb save to deny Robert Lewandowski moments later, but Bremen's task was made even more difficult when Veljkovic received his marching orders after catching Lewandowski with an elbow.
Muller looked set to make Bremen pay for Veljkovic's petulance with 20 minutes remaining, only to head wide of a gaping goal.
Pavlenka was finally beaten five minutes later though – Sule's hopeful punt taking a wicked deflection off Davy Klaassen, while Lewandowski hit the crossbar as Bayern, who meet Bremen again in the DFB-Pokal on Wednesday, edged closer to a seventh successive title.
What does it mean? Pressure on Dortmund
Dortmund led the way in the Bundesliga for the majority of the season, but it is now Niko Kovac's side who are charging towards the title.
Lucien Favre now has to rally his troops for Sunday's clash with Freiburg, if they are to keep their challenge alive.
Pavlenka comes out on top
Bremen are not renowned for their defensive resilience, but the visitors had their goalkeeper at his best as he brilliantly kept Lewandowski and the rampant Gnabry at bay, before he was cruelly beaten by Sule's deflected effort.
Reckless Veljkovic sees red
Having picked up a booking for a rash tackle on Lewandowski midway through the first half, Veljkovic never looked likely to get to grips with Bayern's forward, and despite making a crucial block early in the second half, he rightly saw red when he lunged in elbow-first on the Poland striker, inviting even more pressure on Werder's defence.
Key Opta Facts:
- Bayern extended their longest winning run in competitive matches since the Bundesliga was formed in 1963, they havewon the last 19 matches versus Bremen.
- Thiago Alcantara provided his sixth assist in this Bundesliga campaign, setting up a new personal best. He has provided five assists in his last seven Bundesliga matches.
- Thiago reached his 100th Bundesliga win in his 122nd match. Only Javi Martinez reached 100 Bundesliga wins earlier (in his 120th match).
- Bremen conceded their first loss in competitive matches in 2019 and failed to score on matchday 30 in this Bundesliga season for the first time.
These two sides go head-to-head again on Wednesday in the DFB-Pokal semi-finals, with Bayern – beaten finalists last season – travelling to the Weserstadion.