Gnabry helped himself to a clinical hat-trick as Bayern ran riot in their penultimate game before the World Cup break, with Jamal Musiala, Leon Goretzka and Mathys Tel also on the scoresheet for the hosts.
Bremen equalised early on after falling behind to Musiala's opener, but that was as good as it got for the visitors as the defending champions ran out convincing winners.
However, it was not all good news for Julian Nagelsmann's men, who lost Senegal star Sadio Mane to an injury less than two weeks before the start of the World Cup.
The match began in scintillating fashion, with the opening 20 minutes in particular containing more action than an ordinary 90 minutes might.
Musiala gave the hosts the lead with a calm finish after Mane's shot had been deflected into his path after just six minutes, but that lead was short-lived as Anthony Jung restored parity four minutes later.
Bayern were then awarded a penalty, but Eric-Maxim Choupo-Moting saw his spot kick saved before Mane limped off with his injury moments later.
Any hope from the visitors that it might be their day was quickly extinguished, though, with Bayern scoring three times in the space of six minutes to move 4-1 ahead inside half an hour.
Gnabry began the blitz with a fine curling effort from the edge of the box, before Goretzka showed good balance to round the keeper and slide the ball into an empty net four minutes later.
Gnabry was also left with a simple finish to put the result beyond doubt in double-quick time, as Bayern scored four times in the first half of a game for the fourth time already this season - equalling the record for a full Bundesliga campaign after only 14 games.
Werder managed to stem the flow of goals until the closing stages, when Gnabry completed his hat-trick in style eight minutes from time.
Tel then capped off the rout two minutes later as Bayern made it 30 games unbeaten against Werder Bremen - the longest unbeaten run any team has enjoyed against another in German football history.
Bayern have also now scored 31 first-half goals this season - a record after 14 games of a Bundesliga season - while their overall tally for the season now stands at 47 - the highest tally in Europe's top five leagues.