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.
Four years ago Mbappe became France’s youngest scorer in the competition 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 and also become the first holders since Brazil in 2006 to qualify from the group stage.
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.
By: Kwaku Oduro