Gnabry netted the opener as Bayern battled to a hard-fought win which strengthened their grip on first place and heaped pressure on title rivals Borussia Dortmund. The league leaders are now four points ahead of Dortmund, who have a game in hand against Wolfsburg on Sunday. Bayern toiled in the first half and were lucky not to concede when Christian Gross fired a shot inches over the bar on 35 minutes.
Sadio Mane came close to putting the champions ahead after the break, but it wasn't until just after the hour mark that Gnabry broke the deadlock. Pouncing on a loose ball in the penalty area, the Germany international slotted the ball past Jiri Pavlenka in the Bremen goal. Leroy Sane added a second from the bench ten minutes later, before Niklas Schmidt pulled a goal back with a spectacular long-range effort.
But that wasn't enough for Bremen to avoid a 13th straight home defeat to Bayern, in a run stretching back to 2009. Union remained in the top four despite slipping to a 1-0 defeat away to Augsburg. Dion Beljo's neat first-time finish early in the second half was enough for Augsburg, who have still never lost to Union at home. The win moved Augsburg closer to safety. Enrico Maassen's side are now six points clear of the bottom three.
Hertha Berlin and Hoffenheim also landed crucial victories in the relegation fight. Bottom side Hertha kept their slim hopes of survival alive with a tense 2-1 win against fellow strugglers Stuttgart. Former Stuttgart player Marc Oliver Kempf put Hertha into the lead on half an hour, climbing high in the box to meet a Marco Richter cross. Serhou Guirassy levelled for Stuttgart with a tap-in, but Hertha restored the lead through Florian Niederlechner in first-half stoppage time.
"The win gives us a lot of strength. I'll have a nice evening tonight with a glass of wine and a cigar," said Hertha coach Pal Dardai. Hoffenheim pulled four points clear of danger with an eventful 3-1 win over Eintracht Frankfurt. Frankfurt reached the German Cup final with a dramatic comeback against Stuttgart in midweek, but their sluggish league form continued in a miserable first half against Hoffenheim.
Christoph Baumgartner headed Hoffenheim in front on eight minutes and was later brought down in the box, allowing Andrej Kramaric to double the lead from the penalty spot. Ihlas Bebou made it three from close range on the stroke of half time, before Mario Goetze netted a consolation goal for the visitors in the second half. Bochum slipped back into the bottom two after they lost 2-0 at Borussia Moenchengladbach. Jonas Hofmann and Lars Stindl scored for the home team.