Match ends, Spain 1, France 2.
Kylian Mbappe fired a contentious winner as France came from behind to beat Spain and become the second team to win the Nations League.
Mbappe was adjudged to be onside when he slid the ball under Unai Simon after Karim Benzema's stunning equaliser at Milan's San Siro.
Spain had taken the lead through Mikel Oyarzabal, who shrugged off defender Dayot Upamecano to beat Hugo Lloris.
Lloris produced two late saves to ensure victory for the world champions.
He first denied Oyarzabal before acrobatically keeping out Yeremi Pino's effort in stoppage time, as France became the competition's second winners after Portugal in 2019.
But Mbappe's winner will prove to be a moment of debate, with the goal standing even though the Paris St-Germain striker was in an offside position when Theo Hernandez played the initial through ball.
Spain defender Eric Garcia touched the ball in his attempt to clear the danger before it came to Mbappe, and the rules state "a player in an offside position receiving the ball from an opponent who deliberately plays the ball... is not considered to have gained an advantage".
France, who reached the final by coming from 2-0 down to beat neighbours Belgium 3-2 on Thursday, had to fight back again and did so in a game that came alive after an hour of technical but sedate action.
Didier Deschamps' side's resilience was on full display again as Benzema cut in on his right foot to curl the ball over Simon, less than two minutes after Oyarzabal's opener for Spain.
And even though France had less possession (36%), they constantly looked a threat on the counter-attack as Mbappe struck the decisive - and perhaps fortunate - blow.
Benzema, who returned to the international fold before Euro 2020 in the summer, told French television channel M6: "I really wanted to win a trophy with France, and now it's done.
"We showed strength of character, because this team is very strong, never gives up and we have proven it today.
"It is the sign of a great team not to panic, to be patient and to wait for the right opportunity."
Line-ups
Spain
Formation 4-3-3
- 23Simón
- 2Azpilicueta
- 12García
- 19LaporteBooked at 86mins
- 17Alonso
- 9GaviSubstituted forKokeat 75'minutes
- 5Busquets
- 16RodriSubstituted forFornalsat 84'minutes
- 11F TorresSubstituted forMerinoat 84'minutes
- 21Oyarzabal
- 22SarabiaSubstituted forPinoat 61'minutes
Substitutes
- 1de Gea
- 3P Torres
- 4Martínez
- 6Gil
- 7Pino
- 8Koke
- 10Roberto
- 13Sánchez
- 14Reguilón
- 15Porro
- 18Fornals
- 20Merino
France
Formation 3-4-1-2
- 1Lloris
- 5KoundéBooked at 55mins
- 4VaraneSubstituted forUpamecanoat 43'minutes
- 3Kimpembe
- 2PavardSubstituted forDuboisat 79'minutes
- 8Tchouaméni
- 6PogbaBooked at 46mins
- 22Hernández
- 7GriezmannSubstituted forVeretoutat 90+2'minutes
- 10MbappéBooked at 89mins
- 19Benzema
Substitutes
- 9Martial
- 11Diaby
- 12Dubois
- 13Guendouzi
- 15Upamecano
- 16Costil
- 17Veretout
- 20Ben Yedder
- 21Hernández
- 23Maignan
- Referee:
- Anthony Taylor
- Attendance:
- 31,511
Match Stats
- Possession
- Home64%
- Away36%
- Shots
- Home12
- Away12
- Shots on Target
- Home4
- Away5
- Corners
- Home7
- Away5
- Fouls
- Home11
- Away14
Live Text
Post update
Full Time
Second Half ends, Spain 1, France 2.
Post update
Attempt blocked. Sergio Busquets (Spain) header from the centre of the box is blocked. Assisted by Yeremi Pino with a cross.
Post update
Corner, Spain. Conceded by Karim Benzema.
Post update
Attempt saved. Yeremi Pino (Spain) left footed shot from the centre of the box is saved in the centre of the goal.
Post update
Corner, Spain. Conceded by Paul Pogba.
Post update
Attempt missed. Mikel Merino (Spain) header from the centre of the box misses to the left. Assisted by César Azpilicueta with a cross.
Substitution
Substitution, France. Jordan Veretout replaces Antoine Griezmann.
Post update
Attempt blocked. Pablo Fornals (Spain) right footed shot from the centre of the box is blocked. Assisted by Koke.
Booking
Kylian Mbappé (France) is shown the yellow card for a bad foul.
Post update
Yeremi Pino (Spain) wins a free kick on the right wing.
Post update
Foul by Kylian Mbappé (France).
Post update
Attempt saved. Kylian Mbappé (France) right footed shot from the right side of the box is saved in the centre of the goal. Assisted by Karim Benzema.
Post update
César Azpilicueta (Spain) wins a free kick in the defensive half.
Post update
Foul by Karim Benzema (France).
Post update
Attempt saved. Mikel Oyarzabal (Spain) left footed shot from the centre of the box is saved in the centre of the goal. Assisted by Marcos Alonso.
Post update
Attempt missed. Antoine Griezmann (France) left footed shot from outside the box is high and wide to the left. Assisted by Paul Pogba following a set piece situation.
Booking
Aymeric Laporte (Spain) is shown the yellow card for a bad foul.
Post update
Foul by Aymeric Laporte (Spain).
Post update
Léo Dubois (France) wins a free kick in the attacking half.
- Our coverage of your Premier League club is bigger and better than ever before - follow your team and sign up for notifications in the BBC Sport app to make sure you never miss a moment
Comments
Join the conversation
Neutral fan here.
Was it not being used tonight, there was a dodgy decision in the first half as well!
Enjoyed that.
Anyone who says it hasn't made internationals better is just wrong.
There's nothing wrong with the football calendar as it is. Except moving the world Cup to winter next year of course.
If it ain't broke (and right now it isn't) then don't try and fix it please...