Hosts France advanced to the Euro 2016 final with their first victory over Germany in a major tournament since 1958 on a night of high emotion in Marseille.
Antoine Griezmann, the tournament’s top scorer, made the decisive contributions in each half to set up a final against Portugal at the Stade de France on Sunday.
Griezmann scored from the penalty spot right on half-time when Germany’s Bastian Schweinsteiger was penalised for handball by Italian referee Nicola Rizzoli in an aerial challenge with Patrice Evra.
France held out against German pressure before Griezmann settled the destination of a pulsating semi-final with 18 minutes left when he turned in from close range after keeper Manuel Neuer could only half-clear Paul Pogba’s cross.
Joshua Kimmich then hit the woodwork for Germany and also saw a header brilliantly saved by France keeper Hugo Lloris – but there was no way back for the World Cup holders.