A very tough encounter was settled late in the first half when Olivier Giroud’s shot was diverted into Kylian Mbappe’s path for an easy tap-in.
Didier Deschamps’ prediction that Peru would prove their toughest opponent in Group C came true as the South Americans had more passes, more possession but lacked the cutting edge to take their chances.
Peru started very high up the pitch and put the French under immediate pressure. Respite came three minutes as Edison Flores fouled Benjamin Pavard. In the seventh minute, Yoshimar Yotun saw Hugo Lloris and tried his luck from the centre of the pitch – but the effort went high and wide.
Antoine Griezmann got a shooting chance on 10 minutes but the chance fell on his right leg, and he blasted very wide.
Jose Paulo Guerrero was fouled as France tried to match up physically with the Peruvians. Paul Pogba then tried a spectacular effort from all of 30 yards that saw the Peruvian goalkeeper, Pedro Galesse scrambling to get across.
The first corner was awarded to France in the 13th minute and it was headed behind for another corner kick. Raphael Varane then headed wide after a good climb. There were shouts for a penalty on 15 minutes when Kylian Mbappe was felled in the box and in the follow-up; Galesse saved a Griezmann shot with his knees.
Blaise Matuidi, who had to drag down Luis Advincula received the first yellow card in the 16th minute, with the right-back motoring down the right flank, Guerrero was shown a yellow card for arguing with Samuel Umtiti, even though the foul had been called on Umtiti. Advincula won Peru’s first corner from which Flores flashed a shot wide in the 24th minute.
Mbappe was barged to the ground Miguel Trauco in the 30th minute as the game fell into a familiar pattern.
Lloris then saved a certain goal from Guerrero’s low shot, after the Peru captain stepped inside Umtiti in the box and tried to power the ball between Lloris’ legs.
Pogba’s cute pass freed Mbappe in the box but Galesse comfortably saved his deft back-heel. Mbappe then gave France the lead in the 34th minute after an Olivier Giroud’s shot was diverted into the teenager’s path to become the youngest player to score for France in a World Cup. Guerrero had come deep but he lost the ball to Pogba, who found Giroud in the box.
Pavard was quick to sweep the ball to safety as Peru sought to strike back immediately.
On 42 minutes, France opened up the Peru defence with a good move that started from midfield that ended with Lucas Hernandez shooting at goal, which was saved by Galesse but the Real Madrid man had another chance, which he put past the left Peruvian post.
France had stabilized and were now bossing the game as the referee from the United Arab Emirates, Mohamed Abdulla Hassan Mohd blew off the first half.
Jefferson Farfan and Anderson Santamaria came on for Yotun and Alberto Rodriguez. Farfan was straight into the action as he collided with Umtiti, who seemed to have landed awkwardly. The Barcelona defender needed extensive treatment on the pitch. But though the stretcher was called for, Umtiti was able to walk off the pitch unaided.
Aquino’s shot had Lloris beaten but went off the crossbar in the 51st minute. Afterward, France had more of the possession and won two corner kicks.
Andre Carrillo went over the foot of Kante and Varane that had the Peruvians gesticulating wildly for a favourable decision from the referee, who just waved play on. Advincula had a cross cleared and Carrillo had another crack from distance.
The pace was feverish with Peru stepping on the gas and pushed France into defensive mode. Carrillo could not get enough elevation in his cross in the 66th minute. On 67 minutes, Advincula tried another effort from outside the box – it flew high over Lloris’ post.
Farfan then found the side netting in the 74th minute with an acrobatic effort. Deschamps sent on Ousmane Dembele on 75 minutes. Nabil Fekir came on for Griezmann as Flores was shown a yellow card for a foul on Fekir. The foul was actually committed by Aquino – a clear case of mistaken identity. VAR helped clear that up quickly.
Dembele got on the end of a Giroud headed pass but after a good control, he dragged his shot wide. Aquino again fouled Fekir as France tried to take the pace out of the game. Guerrero won a corner on 84 minutes as time started ebbing away. Pogba earned a yellow card for a flailing arm on Farfan with four minutes left on the clock.
Guerrero’s effort was tame at best – straight at Lloris. Pogba was taken off in the 89th and Steven Nzonzi sent on. Four minutes were added on as Dembele won a corner and gave the French the chance to take the sting out of the match. Matuidi volleyed wide as France defended well and held on for their win while Peru were on their way home.