France handed defending Nations League champions Portugal a rare defeat on Saturday, winning 1-0 in Lisbon with N'Golo Kante's second-half strike to reach the competition's final four at the expense of the holders.
Anthony Martial missed three clear-cut first half chances for France before Kante scored only his second international goal in the 54th minute, and his first since 2016, to end Portugal's run of five successive clean sheets.
World champions France went top of Group A3 with 13 points from five games, three ahead of Portugal and with the better head-to-head record to give them an unassailable lead. It was only Portugal's second defeat since the 2018 World Cup.
"Given the quality of the opposition, it's of course one of our best performances of recent times," France coach Didier Deschamps said of Portugal, who are the European champions.
"We deserved the win and we've fulfilled our objective of finishing top. I'm very proud of the players. They proved tonight that France are still a great team."
Antoine Griezmann set up Martial's first chance in the 12th minute with a slide-rule pass but Portugal's excellent goalkeeper Rui Patricio blocked it at point-blank range.
Martial then diverted Adrien Rabiot's acrobatic effort onto the bar with his head and saw another effort brilliantly saved at close range by Patricio from Lucas Hernandez's cross.
At the other end, Cristiano Ronaldo forced a diving save from France captain Hugo Lloris and also wasted a free kick which he drove straight into the wall.
France finally broke through just as Portugal appeared to be imposing themselves. Griezmann slipped another ball through to Rabiot whose shot was parried by Patricio and Kante was on hand to score from the rebound.
Portugal had three chances go begging in the same attack, including a Jose Fonte header against the post, and Lloris made a one-handed save to parry a raking drive from Joao Moutinho, who then saw his cross evade three forwards as France held out.
"I don't know what went wrong in the first half, it wasn't what I expected but it was my responsibility," said Portugal coach Fernando Santos.
"We were better in the second half but then conceded the goal which settled the game... we had three or four chances to equalise."