Two-goal Antoine Griezmann fired France into the Euro 2016 final on Thursday night 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 in the 72nd minute following a blunder by goalkeeper Manuel Neuer to set up a final against Portugal in Paris on Sunday.
World champions Germany dominated the match in terms of possession but their lack of a deadly finisher cost them and razor-sharp Griezmann, whose double took his tournament-leading tally to six, was the difference.
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 in a game they controlled for long periods 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.
France, roared on in a fantastic atmosphere, had torn forward in the opening exchanges and looked full of adventure.
However, Germany calmly and methodically took control, totally swamping the midfield and with their full backs hugging the touchlines, constantly probing.
Despite the overwhelming dominance of possession, however, clear chances were few and far between, with Hugo Lloris saving comfortably from Emre Can and Thomas Mueller and Schweinsteiger off target when well-placed.
France showed glimpses of their sharpness in attack towards the end of the half but were gifted the opener when Schweinsteiger palmed the ball as he challenged Patrice Evra from a corner.
Few in the stadium saw it but replays appeared to validate Italian referee Nicola Rizzoli’s decision and Griezmann calmly sent Neuer the wrong way from the spot with the last kick of the half.
It did not take long for the second half to settle into the same pattern with almost all the action taking place in French territory.
Eventually, though, Germany’s relentless pressing meant gaps opened at the back and France took deadly advantage when Neuer flapped a Paul Pogba cross straight to Griezmann, who poked it back past him into the net.
Joshua Kimmich clipped a post with a superb curler, Benedikt Hoewedes headed just over and Lloris produced a brilliant save in stoppage time to deny Kimmich as Germany tried to find a way back.
But for once it was not to be.
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 very difference circumstances, carried by a wave of national joy and goodwill. (