The thrilling shootout came after the bruising encounter at Basel on Saturday ended 1-1 after extra time.
The Germans pulled off a stunning comeback from a goal down and a straight red card for defender Kathrin Hendrich after 13 minutes, battling their way back into the game and eventually getting the better of their opponents.
Hendrich was sent off after a VAR review established that she had pulled the hair of Griege Mbock Bathy in the box, and Grace Geyoro's subsequent penalty had the power to get over the line despite Berger getting a strong hand to it.
On the ropes and struggling, the Germans suddenly levelled, Sjoeke Nuesken catching the defence napping by darting towards Klara Buehl's near-post corner and flashing a header into the net in the 25th minute.
With the well-organised Germans defending doggedly, France had two goals ruled out for offside and Nuesken had a second-half penalty saved, and neither side managed to score in extra time.
The game went to penalties, and Berger got the shootout off to a great start for the Germans by saving from Amel Majri, but they were brought back to level pegging when Sara Daebrtiz struck her spot kick off the crossbar and over the goal.
Berger then fired home from the spot herself before diving to her left to deny Alice Sombath, sending the Germans through to the last four.
They will face Spain on Wednesday, a day after England face Italy in the other semi-final.
"For large parts of the game, you wouldn't notice we were one (player) less. I am incredibly proud," German captain Janina Minge said of her side's resilient comeback.
"I have to say, the fans were unbelievable. I don't know if I have ever experienced anything like that.
"You could see that we are ready for something big."
A dejected French coach Laurent Bonadei said his side had done well to get the opening goal.
"Penalties are difficult, we know that, and it's a shame for Alice because she's young and learning," he said.
"You also have to take your hat off to Germany."