The Germany winger, 24, has joined from Manchester City for an initial fee of about £44.7m that could rise to £54.8m.
Sane joined City from Schalke in 2016 for £37m and won two Premier League titles, the FA Cup and two League Cups.
“I want to win as many trophies as possible with Bayern, and the Champions League is the top priority,” he said.
Sane was a key part of the City team that won a domestic treble last year, but has been injured for much of this season.
In 135 appearances for the Premier League side he scored 39 goals and made 45 assists.
“Our goal is to gather the best German players at FC Bayern and the signing of Leroy emphasises this goal,” said Bayern chief executive Karl-Heinz Rummenigge.
Sane, who has 21 caps for Germany, will start training with Bayern next week, although he cannot play for them in the Champions League this season.