"It was Mark's express wish to be released from his contract early for sporting reasons, in order to be able to move to AC Milan immediately," Bayern Munich chairman Karl-Heinz Rummenigge said.
"Mark was always a model professional, an important and successful player for Bayern Munich, and also a fantastic captain."
Bayern gave no financial details, but reports said that with van Bommel's contract due to expire at the end of the season, his move to the Italian giants was a free transfer.
The Bild daily said that van Bommel's relations with Bayern coach, compatriot Louis van Gaal, had hit an all-time low.
He had become worried that he could spend a lot of the second half of the
Bundesliga season on the bench and could lose his captain's armband because he no longer fitted in with van Gaal's plans, Bild said.
Van Bommel joined Bayern in 2006 in a €6 million move from Barcelona, playing 123 times, scoring 11 goals and helping the Bavarians to two Bundesliga and cup titles.
"I am leaving Bayern Munich with a heavy heart but with my head held high," the 33-year-old Dutch midfielder said.
"I have spent four and a half very nice and successful years here and would like to thank the club and the fans for this.
"Bayern Munich will always have a place in my heart."