Kylian Mbappe made history as France booked their place in the World Cup's knockout rounds with an unconvincing 1-0 Group C defeat of Peru.
France were fortunate in their 2-1 opening win over Australia and they had slices of luck again at the Ekaterinburg Arena on Thursday.
Mbappe's goal, which came from close-range after Olivier Giroud's shot took a wicked deflection to beat goalkeeper Pedro Gallese, saw the 19-year-old become the youngest player to score for France at a major international tournament.
As they did in losing narrowly to Denmark, Peru had plenty of chances, returning captain Paolo Guerrero firing at Hugo Lloris and Pedro Aquino clipping the post with a super strike from range.
However, Peru were unable to find a way through and Ricardo Gareca's side - who have yet to find the net in Russia - are certain to be knocked out.
Denmark look set to join France in the last 16 after their 1-1 draw with Australia, but they need a point against Les Bleus in their final outing to be certain of progressing.
19 - Kylian Mbappe (19 years & 6 months) is the youngest France player ever to score in a major tournament (World Cup + EURO). Speechless.— OptaJean (@OptaJean) June 21, 2018
Lloris was making his 100th France appearance and the goalkeeper was almost tested by an ambitious early strike from Yoshimar Yotun, but the shot from the halfway line drifted wide.
Antoine Griezmann - who signed a new Atletico Madrid contract on Monday - had France's first opportunity in the 11th minute but Euro 2016's leading scorer fired wide, while Paul Pogba also failed to work Peru goalkeeper Gallese.
Chances were flowing for France, Raphael Varane missing with a header before Gallese saved with his legs to deny Griezmann after Giroud found his strike partner with a headed pass.
But France's early intensity started to fade and Peru should have taken advantage, yet Guerrero shot straight at Lloris on the turn after Christian Cueva found him in the box.
That miss proved key as Mbappe's historic World Cup moment gave France a 34th-minute lead.
Pogba slid Giroud into the area and when the striker's shot looped over Gallese via a deflection off Christian Ramos, Mbappe could not miss from inside the six-yard box.
Gallese prevented Lucas Hernandez from doubling the France lead as Peru ended the first half on the ropes.
Gareca sent on Anderson Santamaria and Jefferson Farfan at the break, while Samuel Umtiti shook off a dead leg, before Aquino clipped the outside of the post with a swerving drive from 25 yards.
Andre Carrillo fired over the crossbar and Farfan hit the side-netting as Peru grew increasingly desperate to keep their World Cup hopes alive.
Substitute Ousmane Dembele - dropped for Giroud - could have wrapped up the points in the 82nd minute but rifled wide, as France appeared to settle for a one-goal victory.
With Peru's record scorer Guerrero wasting a late free-kick, Didier Deschamps' squad safely held on to secure their place in the knockout stages.
Key Opta stats:
- France are unbeaten in their last eight World Cup fixtures against CONMEBOL opposition (W4 D4).
- Peru are winless in their last eight World Cup matches (D2 L6), scoring just two goals in this run.
- Les Bleus have qualified for the knockout stages of the World Cup for the sixth time in their last eight appearances – only failing to do so in 2002 and 2010.
- Kylian Mbappe has been directly involved in eight goals in his last nine games for France (4 goals, 4 assists).
- France captain Hugo Lloris is the seventh player to reach 100 caps with France.
|Majestic Giorgi ends Wozniacki´s reign in Tokyo|
|Pochettino unwilling to risk Alli fitness|
|Bigger Champions League tests to come, warns Pogba|
|Eight for 10! - Nadeem spins his way to world-record figures|
|A 4-1 lead cut to 3-2 by VAR, but Quakes have no complaints after Atlanta defeat|
|UEFA opens disciplinary proceedings against Ronaldo|
|Joshua v Povetkin: Recapping AJ´s previous world title defences|
|Players told to ink twice over showing tattoos at Rugby World Cup in Japan|
|Mariano targeting Spain call-up after goalscoring Madrid return|
|Pandya, Axar and Thakur out of Asia Cup|
|England omit Cipriani, Tuilagi and Ashton called up|
|Can reacts to Ronaldo´s red card: We are not women|
|One Year to Go: Five Rugby World Cup debutants set to shine|
|Shy Osaka not comfortable with new-found fame|
|Belgium and World Cup winners France make FIFA rankings history|
|Ronaldo wanted to impress - Bernardeschi sympathises after Juve superstar´s red|
|Van Dijk warns Liverpool: Believe we can win trophies or stay home|
|Menezes complains of anti-Brazilian conspiracy after Dede´s VAR red|
|Diamondbacks rout Cubs to remain in postseason picture|
|Modric embraces Ballon d´Or chants as Di Francesco backs Madrid star for award|
|MLS Review: Martinez helps Atlanta stage comeback amid VAR controversy|
|Kerevi recommits to Wallabies, Reds|
|Lyon to ban fan for life after footage of Nazi salute emerges|
|Milan must respect opponents – Gattuso not underestimating Dudelange|
|Copa Libertadores Review: Zarate leads Boca, River draw|
|Mourinho: Dalot can play at Man United for more than 10 years|
|Johnson hoping to erase East Lake demons|
|´No question´ Fitzgerald faces Bears, says Cardinals´ Wilks|
|Rodgers says roughing the passer penalties are ´going the wrong direction´|
|Ravens fined $200,000 for violating communication policy|
|LeBron James set to star in ´Space Jam´ sequel|
|Ronaldo red card ´absurd´, says Pjanic|
|Kovac hails ´special´ Sanches after Bayern goal|
|Marcelino: Tearful Ronaldo said he did nothing wrong|
|Fernandinho takes blame for Man City´s Lyon loss|
|Lovren denies any wrongdoing after perjury charge|
|Plzen boss Vrba slams late mistakes|
|I almost scored as many as Messi - Tagliafico the unlikely hero for Ajax|
|Ronaldo deserves Ballon d´Or not Modric, says Casemiro|
|United fan Rafael - I´ve never lost at City|
|Davis explains abrupt mid-game NFL retirement: ´Football is not for me´|
|Lopes pays tribute to under-fire Lyon coach Genesio|
|Toulon´s Bastareaud handed five-week ban|
|Steelers WR Brown disciplined for missing meeting|
|Arteta refuses to make excuses for Manchester City´s Lyon loss|
|Allegri calls for VAR after Ronaldo´s contentious red card|
|Championship Review: Boro go second, Birmingham still winless|
|Lopetegui: Mariano took his chance|
|Juventus proved their quality after Ronaldo red card - Bonucci|
|Pogba ´class´ impresses Mourinho|
|Man City not Champions League favourites, insists Bernardo Silva|
|Isco calls for Modric to win Ballon d´Or after Champions League win|
|Wawrinka into last eight in St Petersburg|
|Goal hero Pogba is one of the best in the world - Shaw|
|Sane SOS can´t salvage sorry City display|
|Hoffenheim will learn lessons from Shakhtar draw, insists Nagelsmann|
|Valencia 0 Juventus 2: Pjanic hits the spot after Ronaldo sees red|
|Viktoria Plzen 2 CSKA Moscow 2: Krmencik heroics undone by late show|
|Benfica 0 Bayern Munich 2: Sanches returns to haunt his former club|
|Young Boys 0 Manchester United 3: Pogba double inspires Red Devils|
|Manchester City 1 Lyon 2: Cornet and Fekir stun Champions League favourites at home|
|Real Madrid 3 Roma 0: Isco stunner sets up winning start for Champions League holders|
|Ronaldo sent off on Champions League debut for Juve and may miss United reunion|
|Shakhtar Donetsk 2 Hoffenheim 2: Maycon denies Nagelsmann´s side|
|Ajax 3 AEK Athens 0: Tagliafico at the double in opening win|
|Dalot makes debut, Martial starts for Manchester United|
|India avenge ICC Champions Trophy loss with big win over Pakistan|
|Ronaldo makes Champions League debut for Juve|
|Lopetegui picks Navas over Courtois for Champions League clash with Roma|
|Willian very happy under Sarri after Conte row|