Two-goal Antoine Griezmann fired France into the Euro 2016 final when a smash-and-grab 2-0 victory over a territorially dominant Germany ended 58 years of tournament suffering at the hands of their neighbours.
Griezmann drove in a penalty at the end of the first half after a needless handball by German captain Bastian Schweinsteiger and poked home another goal in the 72nd minute following a blunder by goalkeeper Manuel Neuer to set up a final against Portugal in Paris on Sunday.
"We are as happy as kids, the whole country is behind us," Griezmann said.
"This is the result of a group and of a lot of hard work from the staff.
"Now we're in the final and we want to lift that trophy. Playing a final is great but it's winning it that counts."
It was the first time France had beaten Germany in a competitive match since the 1958 World Cup, including defeats in the semi-finals of the 1982 and 1986 World Cups and the quarter-finals two years ago.
The hosts will go into the final as strong favourites to emulate the teams of 1984 and 1998, who won the European and world titles on home soil.
Germany will wonder how they failed to score but, after Jerome Boateng's handball gave Italy a lifeline in the quarter-finals, their captain's similarly inexplicable high hand swung the game France's way when they most needed it.
It was the same result as when the teams met in a Paris friendly last November but that night will be remembered for the death and destruction caused when Islamist militants struck at the stadium and other locations in the city.
Seven months on the national team will return to the Stade de France in different circumstances, carried by a wave of national joy and goodwill.
"We're immensely satisfied but there's one step still to climb, the hardest one," French goalkeeper Hugo Lloris said.
"Every player took responsibility, everybody raised the level of his game and when we do that, we're extremely hard to beat, even for the best team in the world."