The announcement ends weeks of speculation over the Bayern captain’s future, with widespread reports that talks between player and club had hit the rocks.
“During the weeks of the shutdown for the coronavirus pandemic, I didn’t want to make a decision because nobody knew if, when and how Bundesliga football would continue,” Neuer said in a statement.
“I look to the future with great optimism. I feel very comfortable and at home in Bavaria.”
Last month the Bild daily reported that Neuer and his agent Thomas Kroth were demanding a five-year deal with a salary of 20 million euros ($22 million) per season.
Neuer had revealed his irritation both at the status of the talks and that details were being leaked to the media.
A World Cup winner in 2014 with Germany, Neuer joined Bayern from Schalke in 2011 and has won almost everything with the Bavarian giants, with seven Bundesliga titles, five German Cups and the 2013 Champions League to his name.
The 34-year-old is on course to win his eighth league crown with Bayern after a 2-0 win at Union Berlin on Sunday that maintained his team’s four-point lead at the top of the table as the Bundesliga became the first major European league to return from the coronavirus shutdown.