France ended Cristiano Ronaldo’s bid to win the title at his last European Championship by beating Portugal 5-3 in a penalty shootout to reach the semifinals on Friday.

After the game finished 0-0 following extra time, Portugal substitute Joao Felix hit a post with the only miss in the shootout and Theo Hernández showed no sign of pressure by converting the clinching kick into the top corner.

It was a record sixth and final European Championship for the 39-year-old Ronaldo, who scored Portugal’s first penalty in the shootout and ended up consoling fellow veteran Pepe afterward as the 41-year-old defender cried on his captain’s shoulder.

“We need to go through this moment of our loss, which is very painful,” Pepe said.

Ronaldo’s 20-year career in the Euros included the title in 2016 — when Portugal beat France in the final — and it remains to be seen if the five-time world player of the year will continue playing for his country through to the 2026 World Cup, when he will be aged 41.

“Everything is too raw,” said Portugal coach Roberto Martinez, when asked if that was Ronaldo’s last game for his country. “We are suffering a defeat as a team — there are no individual decisions at this point.”

France will play Spain in the semifinals after its extra-time win over Germany in Stuttgart, with Les Bleus staying on course for a third European Championship title after 1984 and 2000.

Spain snatched a 2-1 win over in extra time on Friday thanks to substitute Mikel Merino’s header in the 119th minute. Extra time only came after Florian Wirtz’s equalizer in the last minute of regulation.

Dani Olmo, who set up Merino’s winner, netted the opener early in the second half.

“It was the game we expected,” Merino said, “because we were facing one of the best teams in the world. This could have been a final, and it sure played out that way. This was a game between elite teams, a constant back and forth, and we showed that we have a great team.”

Auto racing: German investigators said Friday they have arrested a third suspect in an attempt to blackmail the family of former Formula 1 racing driver Michael Schumacher. The 52-year-old man, who was detained Thursday in a town near Wuppertal in western Germany, had worked for the family as a security officer.

MLB: Catie Griggs has resigned as president of business operations for the Mariners, the team announced Friday. Griggs arrived in Seattle in the summer of 2021 after four seasons as the chief business officer for Atlanta United in MLS. She oversaw all aspects of the Mariners organization outside of baseball operations. At the time of her hiring, the team said Griggs was the only woman to hold a “president” title role with a club in the majors.

NBA: Franz Wagner agreed to the largest contract in Magic history, a five-year extension that will be worth at least $224 million. The contract value could reach $270 million if he becomes supermax eligible.

NHL: The Sabres acquired forward Ryan McLeod in a trade with the Oilers on Friday. The Sabres received McLeod and minor leaguer Tyler Tullio from the Oilers for 20-year-old center Matthew Savoie.