Chairman Karl-Heinz Rummenigge confirmed on Wednesday that an agreement was close, with Wagner to complete his switch to the Allianz Arena on January 1 after putting pen to paper on a contract until June 2020.
Bayern have reportedly agreed a fee worth in the region of €13 million for the forward, who progressed through the youth academy and made his senior debut for the club in 2007.
"With Sandro Wagner we add another Germany international to Bayern," said sporting director Hasan Salihamidzic.
"We are confident that Sandro Wagner will further enhance the quality of our team through his class and experience."
Wagner, who won the Confederations Cup with Germany this year, has scored four goals in 11 Bundesliga appearances this season.
He will wear the number two shirt and could make his debut when Bayern resume their season on January 12 at Bayer Leverkusen.