Match ends, Denmark 2, France 0.
Reigning champions France narrowly avoided Nations League relegation despite defeat by Denmark, who missed out on a place in next year's finals.
France finished one point above relegated Austria, who lost 3-1 to Croatia on Sunday.
Denmark had to win and hope that Croatia failed to beat Austria to reach next summer's finals.
Kasper Dolberg and Andreas Skov Olsen scored first-half goals for the hosts in Copenhagen.
World champions France, who beat Spain 2-1 in last year's Nations League final, ended a four-game winless run and moved off the bottom of the group by beating Austria on Thursday.
Requiring victory to be certain of their top-tier status in the competition, Kylian Mbappe forced Kasper Schmeichel into action following a corner as France applied early pressure at Parken Stadium.
Christian Eriksen was instrumental as Denmark began to offer more of a threat, but Skov Olsen was flagged offside following a sublime ball over the top by the Manchester United midfielder.
Eriksen found Mikkel Damsgaard on the right to set up Dolberg's breakthrough, the striker sliding in to meet the Brentford winger's low cross.
Alphonse Areola initially prevented further damage, making saves from Joakim Maehle and Thomas Delaney, but Skov Olsen's superb volley from the edge of the box flew through a crowded penalty area to double the advantage.
Denmark missed the chance to seal their place in the finals on Thursday as defeat by Croatia put their opponents in pole position.
Schmeichel was in fine form to deny Mbappe three times in as many minutes as Kasper Hjulmand's side earned the win they required on the night, but it was not enough as Croatia scored two second-half goals to finish top by one point.
Line-ups
Denmark
Formation 4-3-3
- 1Schmeichel
- 13KristensenSubstituted forBahat 90+2'minutes
- 2Andersen
- 6Christensen
- 5Maehle
- 8DelaneyBooked at 54minsSubstituted forKjaerat 72'minutes
- 10Eriksen
- 23Højbjerg
- 11Skov OlsenSubstituted forBraithwaiteat 72'minutes
- 12DolbergSubstituted forHøjlundat 60'minutesBooked at 80mins
- 14DamsgaardSubstituted forLindstrømat 60'minutes
Substitutes
- 3Nelsson
- 4Kjaer
- 7Jensen
- 9Braithwaite
- 15Billing
- 16Christensen
- 17Larsen
- 18Wass
- 19Lindstrøm
- 20Højlund
- 21Bah
- 22Rønnow
France
Formation 3-4-1-2
- 23Areola
- 3SalibaSubstituted forClaussat 45'minutes
- 13Upamecano
- 18Badiashile
- 2Pavard
- 8Tchouaméni
- 6CamavingaSubstituted forFofanaat 45'minutes
- 21MendySubstituted forTruffertat 65'minutes
- 7GriezmannSubstituted forKolo Muaniat 81'minutes
- 9GiroudSubstituted forNkunkuat 65'minutes
- 10Mbappé
Substitutes
- 1Lafont
- 4Varane
- 11Dembélé
- 12Nkunku
- 14Guendouzi
- 15Clauss
- 16Mandanda
- 17Veretout
- 19Fofana
- 20Kolo Muani
- 22Truffert
- Referee:
- István Kovács
- Attendance:
- 36,064
Match Stats
- Possession
- Home48%
- Away52%
- Shots
- Home16
- Away17
- Shots on Target
- Home7
- Away7
- Corners
- Home13
- Away11
- Fouls
- Home9
- Away6
Live Text
Post update
Full Time
Second Half ends, Denmark 2, France 0.
Post update
Attempt missed. Rasmus Højlund (Denmark) left footed shot from outside the box misses to the left. Assisted by Alexander Bah.
Substitution
Substitution, Denmark. Alexander Bah replaces Rasmus Kristensen.
Post update
Attempt saved. Martin Braithwaite (Denmark) header from very close range is saved in the centre of the goal. Assisted by Rasmus Højlund.
Post update
Attempt missed. Rasmus Højlund (Denmark) header from very close range misses to the right. Assisted by Christian Eriksen with a cross following a corner.
Post update
Corner, Denmark. Conceded by Youssouf Fofana.
Post update
Attempt blocked. Jesper Lindstrøm (Denmark) left footed shot from outside the box is blocked. Assisted by Christian Eriksen with a cross.
Post update
Corner, Denmark. Conceded by Adrien Truffert.
Post update
Attempt blocked. Martin Braithwaite (Denmark) right footed shot from the right side of the box is blocked. Assisted by Joakim Maehle.
Substitution
Substitution, France. Randal Kolo Muani replaces Antoine Griezmann.
Booking
Rasmus Højlund (Denmark) is shown the yellow card for a bad foul.
Post update
Dayot Upamecano (France) wins a free kick in the attacking half.
Post update
Foul by Rasmus Højlund (Denmark).
Post update
Foul by Dayot Upamecano (France).
Post update
Rasmus Højlund (Denmark) wins a free kick in the defensive half.
Post update
Attempt blocked. Christian Eriksen (Denmark) right footed shot from outside the box is blocked.
Post update
Foul by Adrien Truffert (France).
Post update
Joachim Andersen (Denmark) wins a free kick in the defensive half.
Post update
Benoît Badiashile (France) wins a free kick in the defensive half.