Alexandra Popp was once again the difference maker for the Germans, scoring twice to lead her side to a 2-1 win.
Germany, the eight-time champions, dominated from the first whistle, testing the resolve of France’s goalkeeper Pauline Peyraud-Magnin who had to parry away several efforts to keep her side on equal footing.
The best of those efforts was a 22nd-minute free-kick when Popp forced a superb diving save from the keeper after a fierce left-footed strike.
However, the striker did not have to wait long to break the deadlock as, after a neat move by her side, she volleyed Svenja Huth’s cross from the right into the roof of the net to give her side the lead five minutes before the halftime.
Their jubilation was short-lived as Kadidiatou Diani of France unleashed a rocket of a shot from 25 yards that caromed off the post and went in after rebounding off the German goalkeeper Merle Frohms in the 44th minute.
The goal gave France a renewed confidence that they carried into the second half against Germany in search of their first Euros final.
They threatened to take the lead on several occasions after the break but defender Kathrin Hendrich heroically blocked an effort from Selma Bach before Frohms then denied Wendie Renard’s header from the resulting corner to keep France at bay.
With the game quickly reaching the final minutes Popp added her second of the game with a header in the 76th minute and despite France’s best efforts, they failed to find the equalizer.
After her two goal-haul Popp joins England’s Beth Mead as the competition’s top scorer with six goals and also becomes the first player in the history of the Women’s Euros to score in five games.
Germany will now play in their ninth European final, having won all their previous ones, at Wembley against England who are searching for their first major international trophy.