Francisco Trincão came off the bench to score twice and Cristiano Ronaldo also found the net as Portugal defeated Denmark 5-2 after extra time for a 5-3 aggregate victory that sent them through to the Nations League semi-finals, where they will face Germany.
With the Danes leading the tie 1-0 thanks to Rasmus Højlund’s goal in Thursday’s first leg in Copenhagen, Ronaldo won and then missed an early penalty before Portugal took the lead on the night in the 38th minute thanks to an own goal from the Denmark and Fulham defender Joachim Andersen.
The goal was cancelled out by Rasmus Kristensen’s header in the 56th minute, and though Ronaldo gave the home side the lead again with a finish from a tight angle, Christian Eriksen put Denmark back in front on aggregate in the 76th minute.
Trincão then took over, scoring in the 86th minute to make it 3-3 on aggregate and force extra time before making it a double in the 91st, with Gonçalo Ramos adding Portugal’s fifth.
Spain claimed a 5-4 penalty shootout win over the Netherlands at Estadio de Mestalla to set up a tie against France after the second leg of their thrilling contest ended 3-3 to leave the tie level 5-5 on aggregate.
Both sides missed their fourth penalties, but the decisive blow was landed when the Netherlands’ Donyell Malen saw his attempt saved by Spain’s goalkeeper Unai Simón, allowing Pedri to convert and secure the win.
The hosts grabbed an early lead after Jan Paul van Hecke brought down Mikel Oyarzabal, who calmly converted the resulting penalty in the eighth minute.
The situation was reversed at the start of the second half as Spain’s Robin Le Normand fouled Memphis Depay, who converted with ease from the penalty spot to level the score for the Dutch.
Spain regained the lead in the 67th minute through a header by Oyarzabal after a counterattack, but the Netherlands equalised in the 79th with Ian Maatsen’s powerful strike, sending the match to extra time.
Spain regained the lead 13 minutes into extra time with a stunning left-footed strike from Lamine Yamal, but four minutes into the second period, Xavi Simons equalised for the Dutch from the penalty spot after a foul by Simón, sending the match to penalties.
Germany squandered a three-goal lead to draw 3-3 against Italy but still earned a nerve-racking 5-4 aggregate victory and a spot in the last four.
The Germans shot out of the blocks and played their best first half in more than a decade with 16 efforts towards goal, Joshua Kimmich opening their account with a 30th minute penalty.
They then caught the Italy goalkeeper Gianluigi Donnarumma and the entire defence napping with a quickly taken Kimmich corner for unmarked Jamal Musiala to slot in their second in the 36th minute.
Tim Kleindienst added a third on the stroke of half-time.
It was a German mistake, however, that launched Italy’s comeback and allowed Moise Kean to cut the deficit four minutes after the restart. With the Germans a shadow of their earlier selves, Kean then beat the defender Jonathan Tah in the 69th minute to make it 3-2.
Italy drew on the night with Giacomo Raspadori’s stoppage-time penalty but could not find another goal to level the tie on aggregate.
France overturned a two-goal deficit to qualify for the semi-finals by eliminating Croatia 5-4 on penalties after a 2-0 victory in their quarter-final second leg at the Stade de France.
skip past newsletter promotion
Sign up to Football Daily
Kick off your evenings with the Guardian’s take on the world of football
Privacy Notice: Newsletters may contain info about charities, online ads, and content funded by outside parties. For more information see our Privacy Policy. We use Google reCaptcha to protect our website and the Google Privacy Policy and Terms of Service apply.
after newsletter promotion
Dayot Upamecano scored the winning penalty in the shootout in which the France goalkeeper Mike Maignan made two saves.
Dayot Upamecano celebrates with Mike Maignan after scoring the winning penalty for France. Photograph: Sarah Meyssonnier/Reuters
Michael Olise opened the scoring and Ousmane Dembélé doubled their lead 10 minutes from time to send the tie into extra time after their 2-0 loss in Split on Thursday. France had a total of 22 chances while Croatia could not manage a single shot on target in 120 minutes.
Evan Ferguson scored his first goal since November as the Republic of Ireland preserved their League B status with a 4-2 aggregate victory over Bulgaria.
Ferguson, currently on loan at West Ham from Brighton, claimed his fifth senior international goal with 27 minutes remaining before the substitute Adam Idah struck after coming off the bench to secure a 2-1 playoff second-leg win at the Aviva Stadium to go with the one which Ireland returned from Plovdiv with on Thursday.
Just as they had done on home soil, the Bulgarians took a first-half lead, this time through the midfielder Valentin Antov, and again they were unable to defend it on a night when, contrary to the Ireland manager Heimir Hallgrímsson’s prediction of a no-holds-barred physical battle, they played some fluent and compact football.
Bulgaria took the lead when Antov stabbed the ball past Caoimhín Kelleher with his side’s first attempt on goal.
Ireland equalised after 63 minutes when Ferguson played a beautifully executed one-two with Finn Azaz before lashing the ball into the roof of the net.
The home team wrapped up victory with six minutes remaining when Azaz set Mark Sykes away down the left and he turned back inside before clipping the ball to the far post for fellow substitute Adam Idah to volley home.
Belgium retained their place in League A of the Nations League with a 3-0 home win over Ukraine on Sunday as Maxim De Cuyper’s opener and Romelu Lukaku’s late double helped them secure a 4-3 aggregate victory.