Skip to main contentSkip to navigationSkip to key eventsSkip to navigation

Spain squeeze past Netherlands, Germany beat Italy, and more: Nations League – as it happened

Germany, Portugal, France and Spain booked their spot in the Nations League semis after an extraordinary evening

 Updated 
(now) and (earlier)
Sun 23 Mar 2025 19.04 EDTFirst published on Sun 23 Mar 2025 12.34 EDT
Key events
Spain players celebrate their victory against the Netherlands.
Spain players celebrate their victory against the Netherlands. Photograph: Alberto Saiz/AP
Spain players celebrate their victory against the Netherlands. Photograph: Alberto Saiz/AP

Live feed

From
Key events

That’s all from me. Thanks for reading and for your emails on a day/night of absolutely bonkers, preposterous association football. Cheers!

Congrats to Germany, Portugal, France and Spain!

France’s Kylian Mbappé speaks to the cameras:

We know that in penalty shootouts we have a goalkeeper [Maignan] who makes the difference. We needed a match like that to get the public back with us.

This is the complete line up for the Nations League semi-finals:

Germany v Portugal
Spain v France

Probably the four best teams in Europe, so can’t really argue with that.

Wooooooow. Croatia were so close to the stingiest of victories there but just couldn’t quite get over the line in the shootout. Nobody can say that France didn’t deserve to progress.

France beat Croatia in the penalty shootout!

Upamecano scores! France are through to the Nations League semi-finals! Les Bleus will face Spain in the last four!

Full-time: France 2-0 Croatia (2-2 agg, 5-4 pens)

Both sides score their next penalties in sudden death: Croatia’s Duje Caleta-Car and France’s Désire Doué convert. The score is 4-4 in the shootout!

France v Croatia penalty shootout goes to sudden death!

After two missed penalties by Croatia, Theo Hernández has the chance to clinch the tie for France … but the Milan man spurns his spot kick!

Spain beat Netherlands to win the penalty shootout!

Both Netherlands’ Noah Lang and Spain’s Lamine Yamal failed to convert their penalties, which sent this shootout to sudden death. Villa’s Malen saw his effort saved for the Netherlands, and Pedri is the matchwinner, curling his spot kick into the top corner, beyond Verbruggen! Right in the side netting! An end to a sensational game of football.

Full-time: Spain 3-3 Netherlands (5-5 agg, 6-5 pens)

End of extra-time: France 2-0 Croatia (2-2 agg)

Croatia hold out for penalties! What drama!

GOAL! Portugal 5-2 Denmark (Ramos 116, 5-3 agg)

Portugal have surely done it now! Jota, on as a sub, sprints beyond a weary Danish defence and picks out Ramos at the back post with a low cross. It’s a simple tap-in for the PSG striker! Portugal are just a few minutes away from securing their semi-final spot.

End of extra-time: Spain 3-3 Netherlands (5-5 agg)

We go to penalties in Valencia! What a game!

Spain 3-3 Netherlands (5-5 agg)

120 min: Maatsen with a chance at the death! Ooooooo, so nearly a winner for the Netherlands, who have not once led in this tie. Spain’s Porro makes a risky tackle in the box but comes away with the ball, before instantly losing it. Taylor intercepts Porro’s pass and finds Maatsen, who steps inside and squeezes a shot towards Simon’s near post! The Spanish keeper flies to his left and saves! Crucial!

Portugal 4-2 Denmark (4-3 agg)

115 min: Just as he did in the Euro 2016 final, the sidelined Cristiano Ronaldo is marching around the technical area, barking instructions and whipping the crowd into a frenzy. Portugal are five minutes away from victory.

France 2-0 Croatia (2-2 agg)

112 min: Mbappé is through on goal, but Livakovic comes out to rush the French striker into a decision and manages to get something on the Real Madrid forward’s shot! Croatia survive.

France 2-0 Croatia (2-2 agg)

109 min: Croatia are desperately holding on for penalties. they have had five attempts on goal, France 25. The French have had 15 corners to Croatia’s zero.

GOAL! Spain 3-3 Netherlands (Simon pen 108, 5-5 agg)

The Netherlands have done it! Dutchman Simons is felled by Spain’s keeper, Simon, inside Spain’s penalty area. Simons, who spent his youth in Spain at the Barcelona academy, steps up and slots his penalty into the corner to tie things up on the night, and on aggregate. What a preposterous game of football!

Half-time in extra time

Spain 3-2 Netherlands (5-4 agg)

Portugal 4-2 Denmark (4-3 agg)

France 2-0 Croatia (2-2 agg)

GOAL! Portugal 4-2 Denmark (Trincão, 4-3 agg)

Trincão has done it again! For the first time in this tie, Portugal lead! Ramos swipes a shot at goal, Schmeichel palms it wide but only into the path of Trincão, who sidefoots a fine finish into the far corner! Schmeichel really should have saved that, but the Danish keeper was off balance from the Ramos effort and never got his feet set. Portugal lead 4-3 on aggregate!

GOAL! Spain 3-2 Netherlands (Lamine Yamal 103, 5-4 agg)

Spectacular from Lamine Yamal! The teenager breaks the offside trap and latches onto a long diagonal ball. It’s a sumptuous first touch to cushion the ball, another flick to move inside Maatsen and a devastating third touch, a curled finish into the far corner past Verbruggen! An R2 finish, for all you Pro Evo heads. That is ridiculous from Lamine Yamal, nothing that Maatsen could have done. The Aston Villa man was on absolute skates.

Spain's Lamine Yamal celebrates with Nico Williams after scoring their third goal. Photograph: Albert Gea/Reuters
Share
Updated at 

France 2-0 Croatia (2-2 agg)

90+6 min: It won’t surprise you that France are laying siege to Croatia in extra time. Mbappé and Désiré Doué are looking the most likely to score the crucial third goal for France, which would give them an aggregate lead.

“I realise I’m risking a hot take, but the Nations League might be good, actually,” emails Kári Tulinius. “I know two-legged ties have a different rhythm to knock-out games, but if tonight’s matches had been the quarter-finals of a Euros, we’d be talking about it as a rival to 1984 and 2000 as an all time great tournament.”

Yep, it seems that all the teams care, which is certainly something, even if there is not the jeopardy to rival a major tournament. But the quality and drama have been high, so hard to really hate on the footy this evening. I just wish I had more fingers to type a bit faster.

Into extra-time we go, then. Ronaldo has had to come off for Portugal against Denmark, with the veteran pointing to a problem with his leg. Gonçalo Ramos is on.

Full-time: Republic of Ireland 2-1 Bulgaria (4-2 agg)

Congrats to the Irish to staving off relegation from League B. They had to battle back from 1-0 down on the night, but that’s a good win.

GOAL! Republic of Ireland 2-1 Bulgaria (4-2 agg)

Idah wraps up the aggregate win with a back-post volley, latching onto a deep cross and celebrating at a rampany Aviva Stadium! Republic of Ireland now 4-2 up on aggregate, they will surely now stay in League B!

End of 90 minutes: extra time for three of the four Nations League quarter-finals!

Spain 2-2 Netherlands (4-4 agg)

Portugal 3-2 Denmark (3-3 agg)

France 2-0 Croatia (2-2 agg)

Full-time: Germany 3-3 Italy (5-4 agg)

Germany were 3-0 up at half-time. Italy clawed them back, but could not find an equaliser! Germany through to the Nations League semi-finals!

GOAL! Germany 3-3 Italy (Raspadori pen 90+5, 5-4 agg)

Italy have got another one! Raspadori, who has had such an impact since coming off the bench, has scored a penalty. Now Italy will throw everything forward to try to find an equaliser on aggregate! They have just one or two minutes left!

GOAL! Portugal 3-2 Denmark (Trincão 86, 3-3 agg)

Portugal are level! What a game this is. Schmeichel flaps under a high ball, Nuno Mendes collects on the edge of Denmark’s box and lays a pass off to Trincão, who slams a bouncing shot past the retreating Schmeichel! We are headed to extra time in Lisbon!

GOAL! France 2-0 Croatia (Dembélé 84, 2-2 agg)

Croatia can’t hold on! Mbappé and Olise combine down the right, the latter pulling a ball back to Dembélé on the penalty spot, and the PSG man sweeps a right-footed finish into the far corner!

GOAL! Republic of Ireland 1-1 Bulgaria (Ferguson, 3-2 agg)

Ferguson plays a brilliant one-two and lashes a fierce shot into the top corner. Republic of Ireland lead in the tie now!

GOAL! Portugal 2-2 Denmark (Eriksen 77, 2-3 agg)

Denmark lead again with a goal made and finished by Manchester United players! Dorgu gets to the byline on the left and rolls a perfectly weighted ball across Portugal’s six-yard box between goalkeeper and defenders. Eriksen stretches at the back post and tucks the ball home. A suckerpunch for Portugal!

GOAL! Portugal 2-1 Denmark (Ronaldo 73, 2-2 agg)

Bruno Fernandes tries his luck from range. Schmeichel gets down to his left but Ronaldo is there to tuck home the rebound! Portugal are not dead yet! Ronaldo has made up for his saved penalty (earlier)!

That Ronaldo wink. Photograph: Rodrigo Antunes/EPA
Share
Updated at 

GOAL! Spain 2-2 Netherlands (Maatsen 79)

We are all level again! Dutch substitutes Lang and Simon combine on the edge of Spain’s area, the latter playing a lazer through ball to Maatsen, who takes a wondrous first touch before lashing into the top corner from an acute angle. We are all square on the night and on aggregate. What a game, what a tie. Either side could win this, although the Spanish are looking a little leggy. Pedri comes on for Olmo, that should help.

Netherlands' Noa Lang, left, congratulates his teammate Ian Maatsen after scoring his side second goal. Photograph: Alberto Saiz/AP
Share
Updated at 

GOAL! Germany 3-2 Italy (Kean, 5-3 agg)

Kean has his second of the evening! Raspadori finds a pocket of space in midfield, finds Kean with a pass. The Fiorentina striker wiggles one way to throw Tah off balance and sidefoots a finish past Baumann into the top corner! Italy have just a few minutes left to find two goals and force extra time!

France 1-0 Croatia (1-2 agg)

73 min: Just as I suspected, France are throwing the kitchen sink at Croatia, who are just about holding firm. Mbappé, Saliba and Tchouaméni have all missed chances in the last few minutes. Croatia are just over 15 minutes from the most unlikely of aggregate wins. Croatia are keeping the game scrappy and Kovacic is lucky to escape a second yellow card after scything Dembele down from behind.

GOAL! Spain 2-1 Netherlands (Oyarzabal 67, 4-3 agg)

The Dutch are uncharacteristically hit on the counter-attack! The Netherlands throw men forward and are undone. Nico Williams streams forward, driving inside and plays a delightful reverse pass to the unmarked Oyarzabal. The Real Sociedad has time to take a touch in the Dutch box, and tries a dink but Verbruggen makes a save. But the ball falls kindly back to Oyarzabal, and he nods the rebound into the net for his second of the evening! Spain are 4-3 up on aggregate!

Mikel Oyarzabal of Spain scores the 1-0 behind goalkeeper Bart Verbruggen. Photograph: Hollandse Hoogte/REX/Shutterstock
Share
Updated at 

GOAL! Portugal 1-1 Denmark (Kristensen, 1-2 agg)

Denmark level the scores on the night and re-take the lead on aggregate! It’s almost a carbon copy of the Portugal goal, except there is no own goal this time. Kristensen connects with a corner at the back post, heading back across goal and into the net. That’s a huge goal!

Portugal's Diogo Costa in action as Denmark's Rasmus Kristensen scores their first goal. Photograph: Pedro Nunes/Reuters
Share
Updated at 

GOAL! Germany 3-1 Italy (Kean, 5-2 agg)

Germany lose the ball cheaply in midfield and Kean picks up the loose ball, drives forward and unleashes a howitzer of a shot inside Baumann’s near post! Game on? It’s still a long way back for the Italians, who have been much improved since those changes at the break.

Italy's Moise Kean scores their first goal past Germany's Oliver Baumann. Photograph: Thilo Schmülgen/Reuters
Share
Updated at 

Spain 1-1 Netherlands (3-3 agg)

60 min: It’s so hard to keep abreast of the other scores when the football in this game is so good. Both teams have had chances to take the lead on the night and in the tie since the Dutch equaliser: Depay had an excellent long-range strike saved and Nico Williams has just scampered down the left for Spain, getting to the byline before trying to squeeze a shot under Verbruggen. The Brighton keeper was equal to it.

GOAL! France 1-0 Croatia (Olise 52, 1-2 agg)

Olise with a wonderful free-kick! The former Palace man curls his shot over the wall and into the top corner. Livakovic didn’t move! France are back in this, 2-1 down on aggregate! They have been knocking at the door all game: over 60% possession, and have 14 shots to Croatia’s three (although France have had just two on target). I would expect Croatia to continue to park the bus. It’s not likely to be a similar game to the 2018 World Cup final.

Croatia's goalkeeper Dominik Livakovic, center, watches the ball go into the net for a goal by France's Michael Olise. Photograph: Thibault Camus/AP
Share
Updated at 

Spain 1-1 Netherlands (Depay 54 pen, 3-3 agg)

Depay scores on his 100th international appearance, his 47th goal! He is now just three goals behind Van Persie, the all-time Dutch goalscorer. It was a soft spot kick to give away, Le Normand wrestling Depay to the ground, but the Dutchman dusted himself down and cracked his penalty into the top corner. Simon would have had no chance even if he had guessed the right way (he didn’t).

Spain 1-0 Netherlands (3-2 agg)

48 min: Great save from Simon to deny the Dutch! That was probably the best opening the Netherlands have created, as Gakpo slipped in the underlapping Kluivert down Spain’s right. Simon came out sharply, though, spread himself and stopped Kluivert getting a meaningful shot off. Might the Bournemouth winger have cut the ball back instead? Depay was lurking.

Peeeeeeeeeep!

We’re underway in all four of the quarter-finals.

Hardly surprising at 3-0 down, but Italy make a double change and a change in formation. Politano, the Napoli winger, comes on for Gatti, the Juventus centre-back. Frattesi is also on for Maldini.

Half-time scores: Nations League quarter-finals

Spain 1-0 Netherlands (3-2 agg)

Germany 3-0 Italy (5-1 agg)

Portugal 1-0 Denmark (1-1 agg)

France 0-0 Croatia (0-2)

Gallic formation: France's Kylian Mbappe doing je ne sais quoi? Comme ci, comma ça, peut etre?
Photograph: Thibault Camus/AP
Share
Updated at 

GOAL! Germany 3-0 Italy (Kleindienst 45, 5-1 agg)

That is surely that! Five-one on aggregate. Italy self-destruct again as Schlotterbeck wins a brilliant tackle high up the pitch for Germany, who work it to the right. Kimmich stands up a lovely little cross to the back post, and Kleindienst rises over Di Lorenzo to nod past Donnarumma. The Italy keeper clawed the ball out but it had already gone over the line.

Spain 1-0 Netherlands (3-2 agg)

41 min: Van Dijk is the best centre back in the world, but it is his Netherlands partner, Brighton’s Van Hecke, who has been impressive in this half, despite giving away the penalty. Spain have looked likely on the counter attack with Lamine Yamal and Nico Williams, but Van Hecke has stepped in expertly on a few occasions now. He’s a brilliant defender, and still just 24.

GOAL! Portugal 1-0 Denmark (Andersen OG 38, 1-1 agg)

Portugal are back in it! Ronaldo may have had a penalty saved earlier in this game, but he rises to meet a Fernandes corner. Joachim Andersen actually beats the Portuguese legend to the ball but inadvertently heads towards his goal. Schmeichel is completely flat footed and the ball dribbles into the net! We’re level on aggregate, 1-1.

Delighted Roni:Cristiano Ronaldo celebrates after Denmark's Joachim Andersen scored an own goal. Photograph: Armando França/AP
Share
Updated at 

GOAL! Germany 2-0 Italy (Musiala 36, 4-1 agg)

An absolutely extraordinary goal! This is Sunday League stuff from Italy, who give Germany the softest of second goals on the night. Donnarumma makes an expert save to deny Kleindienst’s header, turning the ball over the bar. But as Kimmich trots across to take the corner, the Italian defenders are all arguing each other around the penalty spot with Donnarumma coming out of his goal to take part in the conversation. Musiala is completely unmarked on the six-yard box and with no Italian defenders between him and the goal, Kimmich crosses low from the corner and Musiala taps the ball into an empty net! One of the most remarkable international goals I have ever seen. Absolutely dreadful stuff from Italy and from Donnarumma in particular!

GOAL! Republic of Ireland 0-1 Bulgaria (Antov 30, 2-2 agg)

Bulgaria level the tie with their first real chance of the second leg! From a corner, the visitors play the ball to the edge of Ireland’s area. There is a shot and brief scramble before Antov pounces on the rebound to score for Bulgaria!

Most viewed

Most viewed