Bayern have beaten Bundesliga rivals Borussia Dortmund and Schalke to the signing of the 22-year-old, who was subject to a bid of over £6 million from the reigning domestic champions in the summer.
Kirchhoff will now leave Mainz once his current deal runs out, and will sign a three-year deal at the Allianz until the summer of 2016.
The Frankfurt-born centre-back stands at six feet five and has represented Germany’s Under-21 side 17 times, scoring three times.
He made 51 Bundesliga appearances for Mainz after switching to their academy from that of Eintracht Frankfurt in 2007.
Bayern sporting director Matthias Sammer said of the capture: "Kirchhoff is a diamond in the rough. I am glad he is coming to Bayern. It is good that he accepts the challenge of making it here.”
Kirchhoff will replace Daniel van Buyten when the Belgian’s own deal in Munich expires in July.