Gnabry, 21, has put pen to paper on a three-year deal and joins Sebastian Rudy and Niklas Süle as new arrivals at the Allianz Arena.
"It’s a huge honour to sign for FC Bayern," Gnabry told fcbayern.de. "It’s going to be an exciting time for me, and I’m really looking forward to it."
"We're pleased that Serge Gnabry, another young German international, is joining the club," added Bayern chairman Karl-Heinz Rummenigge. "Serge has improved a lot during his time in Bremen."
Watch: New Bayern star Gnabry in action for Bremen
The two-time Germany international joined the Green-Whites from Arsenal last summer and scored 11 goals in 27 league games to help Werder secure an eighth-place finish.
"Werder Bremen really are a special club and exceeded all my expectations," Gnabry wrote in a message to supporters on Twitter on Thursday.
"I got a chance to prove myself here and for that I’m very grateful to all of you. I will never forget the support I got from the whole city, the fans and my team-mates."
"Of course it’s a pity that an absolutely top player like Serge, whose progress has been phenomenal and who helped the team hugely with his outstanding performances, is leaving us," said Bremen head coach Alexander Nouri.
"We wish him all the best for his future."