France have beaten Portugal 5-3 in a penalty shootout to reach the European Championship semifinals, ending Cristiano Ronaldo's bid to win the title in his last appearance at the tournament.
After the game finished 0-0 following extra time, Joao Felix hit a post with a penalty in the shootout and Theo Hernández converted the clinching kick.
Portugal had the best chances to take the win during regular time, forcing goalkeeper Mike Maignan into two big saves to deny Bruno Fernandes in the 61st minute and then Vitinha in the 63rd.
But the 0-0 stalemate persisted after extra time and the Portuguese side were faced with a second consecutive shootout, following a 3-0 win on penalties against Slovenia in the last 16.
France lost in penalty shootouts at their last two major tournaments - in the last 16 at the Euros in 2021 and in the 2022 World Cup final.
The 39-year-old Ronaldo has said this was his record sixth and last European Championship.
France will play Spain in the semifinals after their extra-time win over Germany in Stuttgart earlier.