Kylian Mbappe scored twice for France as the defending champions laid down a World Cup marker by beating Denmark to become the first team into the knockout stage.
The forward stole the show once again with second-half strikes to take his side through.
Mbappe had earlier blazed over from 12 yards and forced Kasper Schmeichel into a save with a rising shot.
But the Paris St-Germain star broke the deadlock just past the hour mark, exchanging a fine one-two with Theo Hernandez before stroking in.
Denmark equalised just seven minutes later with their first effort on target as defender Andreas Christensen headed home at the far post after France failed to clear a corner.
Christensen, though, may have counted himself lucky to still be on the pitch at that point after receiving only a yellow card on 20 minutes for dragging back Mbappe, who was looking to run clear.
France keeper Hugo Lloris made a sharp stop to keep out Tottenham team-mate Pierre-Emile Hojbjerg's first-time shot, while Martin Braithwaite agonisingly fired into the side netting.
Mbappe became France's youngest scorer in the competition four years ago when aged 19,
And with four minutes left, he snatched the winner, sneaking in at the far post to convert Antoine Griezmann's cross.
Box-office Mbappe revels in the spotlight
All eyes were on Olivier Giroud before the game and whether he could become France's all-time leading scorer and move clear of Thierry Henry.
But the AC Milan striker failed to make an impact and was replaced just after the 61st-minute opener as Mbappe revelled in the spotlight.
Just 23, he already has 31 international goals and is rapidly closing in on Giroud and Henry's 51-goal mark.
Mbappe's double helped France win a sixth straight World Cup game for the first time.
He converted the first following a delightful interchange with Theo Hernandez, who replaced brother Lucas after a knee injury ended his tournament.
Defender Raphael Varane started a game for the first time since 22 October, when he left the pitch in tears for Manchester United against Chelsea after suffering a muscular injury in the Premier League game.
He had the first chance when a flicked header was cleared off the line by Joakim Maehle.
Adrien Rabiot's nodded effort was then tipped away by Schmeichel, while the Nice keeper also kept out Griezmann's low drive.
Although Denmark equalised through Christensen's header - only one of two efforts on goal for Kasper Hjulmand's men - Mbappe turned in Griezmann's cross before celebrating passionately in front of the flag-waving French fans.
Player of the match
DembéléOusmane Dembélé
France
Squad number11Player nameDembélé
Squad number7Player nameGriezmann
Squad number10Player nameMbappé
Squad number22Player nameHernández
Squad number20Player nameComan
Squad number9Player nameGiroud
Squad number24Player nameKonaté
Squad number14Player nameRabiot
Squad number8Player nameTchouaméni
Squad number4Player nameVarane
Squad number26Player nameThuram
Squad number13Player nameFofana
Squad number5Player nameKoundé
Squad number18Player nameUpamecano
Squad number1Player nameLloris
Denmark
Squad number3Player nameNelsson
Squad number1Player nameSchmeichel
Squad number10Player nameEriksen
Squad number13Player nameKristensen
Squad number6Player nameChristensen
Squad number23Player nameHøjbjerg
Squad number25Player nameLindstrøm
Squad number5Player nameMaehle
Squad number14Player nameDamsgaard
Squad number9Player nameBraithwaite
Squad number2Player nameAndersen
Squad number21Player nameCornelius
Squad number26Player nameBah
Squad number15Player nameNørgaard
Squad number12Player nameDolberg
Line-ups
France
Formation 4-2-3-1
1Lloris
5Koundé4Varane18Upamecano22Hernández
8Tchouaméni14Rabiot
11Dembélé7Griezmann10Mbappé
9Giroud
1Lloris5KoundéBooked at 43mins4VaraneSubstituted forKonatéat 75'minutes18Upamecano22Hernández8Tchouaméni14Rabiot11DembéléSubstituted forComanat 75'minutes7GriezmannSubstituted forFofanaat 90+3'minutes10Mbappé9GiroudSubstituted forThuramat 63'minutesSubstitutes
2Pavard3Disasi6Guendouzi12Kolo Muani13Fofana15Veretout16Mandanda17Saliba20Coman23Aréola24Konaté25Camavinga26ThuramDenmark
Formation 3-4-2-1
1Schmeichel
2Andersen6Christensen3Nelsson
13Kristensen23Højbjerg10Eriksen5Maehle
25Lindstrøm14Damsgaard
21Cornelius
1Schmeichel2Andersen6ChristensenBooked at 20mins3Nelsson13KristensenSubstituted forBahat 90+2'minutes23Højbjerg10Eriksen5Maehle25LindstrømSubstituted forNørgaardat 85'minutes14DamsgaardSubstituted forDolbergat 73'minutes21CorneliusBooked at 23minsSubstituted forBraithwaiteat 45'minutesSubstitutes
4Kjaer7Jensen9Braithwaite11Skov Olsen12Dolberg15Nørgaard16Christensen17Stryger Larsen18Wass19Wind20Poulsen22Rønnow24Skov26BahReferee:Szymon MarciniakAttendance:42,860Live Text
Match ends, France 2, Denmark 1.
Second Half ends, France 2, Denmark 1.
Attempt missed. Joakim Maehle (Denmark) right footed shot from outside the box is too high.
Foul by Alexander Bah (Denmark).
Kylian Mbappé (France) wins a free kick in the defensive half.
Substitution, France. Youssouf Fofana replaces Antoine Griezmann.
Substitution, Denmark. Alexander Bah replaces Rasmus Kristensen.
Attempt saved. Kylian Mbappé (France) right footed shot from outside the box is saved in the centre of the goal. Assisted by Theo Hernández.
Attempt blocked. Joachim Andersen (Denmark) left footed shot from outside the box is blocked. Assisted by Rasmus Kristensen.
Goal! France 2, Denmark 1. Kylian Mbappé (France) right footed shot from very close range to the bottom left corner. Assisted by Antoine Griezmann with a cross.
Substitution, Denmark. Christian Nørgaard replaces Jesper Lindstrøm.
Attempt missed. Pierre-Emile Højbjerg (Denmark) right footed shot from outside the box misses to the left. Assisted by Christian Eriksen.
Martin Braithwaite (Denmark) hits the right post with a right footed shot from the centre of the box. Assisted by Kasper Dolberg with a cross.
Attempt missed. Adrien Rabiot (France) left footed shot from the right side of the box is close, but misses the top right corner. Assisted by Theo Hernández with a cross following a corner.
Corner, France. Conceded by Joachim Andersen.
Attempt blocked. Jules Koundé (France) header from the centre of the box is blocked. Assisted by Kingsley Coman with a cross.
Corner, France. Conceded by Joakim Maehle.
Attempt blocked. Aurélien Tchouaméni (France) header from very close range is blocked. Assisted by Antoine Griezmann with a cross.
Corner, France. Conceded by Andreas Christensen.
Corner, France. Conceded by Rasmus Kristensen.
Get the latest results and goal notifications for any team at the Fifa World Cup by downloading the BBC Sport app: Appleexternal-link - Androidexternal-link - Amazonexternal-link
Get your daily dose of Fifa World Cup reaction, debate & analysis with World Cup Daily on BBC Sounds