Haas defeated Croatia's Ivan Dodig 6-4 6-3 to seal his place in the final, 13 years after he finished runner-up in the tournament.
Kohlschreiber beat Daniel Brands 6-7 (7/4) 6-3 7-6 (7/5) in the other all-German semi-final, battling from a break down in the final set to edge out his fellow countryman in two hours 14 minutes.
Haas, 35, who has won three of his ATP World Tour titles on home soil, told atptour.com: "It's quite crazy (being back in the final), I don't think it's really hit me yet.
"Thirteen years is a long time and it's pretty impressive, I think, to achieve something like that.
"It came down to a few big points here and there. I'm glad to have battled it out. He had a really good week, beat some very good players.
"It was nice today to play in front of a home Munich crowd, a pretty packed stadium, and come off as the winner.
"I'd like to go one step further and win the title here once, that's my main goal right now."
Veteran Haas is also looking forward to an all-German final.
"It's great for German tennis," he said.
"We played really well last year in all the German events and now again we're going to have an all-German final, which I think is great for the fans."
The final will be Haas' second of the season, after he finished runner-up to Milos Raonic at the SAP Open in San Jose.
If Kohlschreiber can beat Haas to the title it will be his third win in Munich, following victories against Marin Cilic last year and Mikhail Youzhny in 2007.