Jan-Lennard Struff sealed his place in his first ATP Tour final with a 6-4 6-1 win over Ilya Ivashka at the BMW Open in Munich.
The 31-year-old recovered from a poor start against the Belarusian qualifier, who had dispatched top seed Alexander Zverev in the previous round.
Ivashka broke immediately to establish a 3-0 lead but Struff soon settled and hit back to take the opening set and pressure his opponent's serve at the start of the second.
Struff eventually broke Ivashka in the third game of the set and from there it was plain sailing for the German, who completed his victory in 87 minutes.
The in-form Briton, who is ranked 50 in the world, edged a tight semi-final against the Croatian 7-6 (5) 7-5.
Cilic fired 16 aces and Norrie saved five of the six break points he faced to beat the former world number three in just under two hours.