A double from Antoine Griezmann and an intense first-half rearguard action saw hosts France stun World Cup champions Germany 2-0 in Marseille Thursday and reach the final of Euro 2016.
Griezmann's 45th minute penalty, after a clear handball from Bastian Schweinsteiger, broke the deadlock at the end of a half which had been dominated by Germany. Griezmann added another for a tournament-leading tally of six in the 72nd to seal the tie.
Germany missed various chances through Thomas Mueller and Emre Can, and struck the woodwork late on through Joshua Kimmich but could not find a way past France keeper Hugo Lloris, who saved superbly in stoopage time from a Kimmich header.
France held on for a first tournament win over Germany since 1958 and now meet Portugal in the Paris final Sunday. They are seeking their third Euro crown and a first title since 2000.