France became the first of the World Cup favourites to progress to the last 16, as Kylian Mbappe's goal ended Peru's chances of joining them in the knockout stages.
Didier Deschamps listened to the pleas of French supporters and handed Olivier Giroud a start in place of Ousmane Dembele, with Blaise Matuidi coming into the side in midfield. Hugo Lloris made his 100th appearance for Les Bleus. One of two changes for Peru saw Paolo Guerrero replace Jefferson Farfan up front.
Peru started with the same enthusiasm they had shown against Denmark and Christian Cueva tried to catch out Lloris with an effort from the halfway line, but it flew over the crossbar.
The first clear opening fell to Antoine Griezmann but he sliced it wide of the mark. A dipping long-range effort from Paul Pogba bounced dangerously wide of Pedro Gallese's goal and Raphael Varane headed wide from a corner as France started to take control of the game.
Gallese made his first save to deny Griezmann before Blaise Matuidi went into the book for a cynical pull. Peru settled back into their rhythm and Guerrero nicked the ball past Samuel Umtiti in the box but couldn't beat Lloris with a low shot which was too close to the Spurs stopper.
Kylian Mbappe beat the offside trap for Peru's tensest moment so far but failed to connect with an attempted backheel. He did break the deadlock shortly afterwards though as Giroud's shot deflected over the head of Gallese and Mbappe was the man on the spot to poke it into the empty net.
Lucas Hernandez could have made it two before half time as Griezmann picked him out with a pass on the spin, but his shot was kept out by Gallese. France were starting to take advantage of wide open spaces at the back and Peru breathed a collective sigh of relief when they heard the half time whistle.
Peru, who needed at least a draw to remain in the tournament, responded with two half time changes as Farfan and Anderson Santamaria replaced Yoshimar Yotun and Alberto Rodriguez. Pedro Aquino nearly drew them level with an effort from outside the box which smacked off the woodwork.
Peru put some nice moves together and got in behind the French defence on a number of occasions, but the final ball was always lacking. Andre Carillo and Luis Advincula tried their luck from range as frustration grew. Carillo also wasted a cross when well-placed, with Farfan doing well to hook it into the side-netting.
We then witnessed a historic, if not particularly exciting, first. VAR was used in a case of mistaken identity for the first time at the World Cup, with Aquino eventually booked instead of Edison Flores. Peru were starting to tire and it showed in the rustic nature of some of their challenges.
Guerrero got a tame free kick on target but Lloris was untroubled as the Incas ran out of ideas. Giroud had an effort deflected out for a corner but France used the opportunity to time waste and book their place in the next round.
Peru's wonderful supporters, outnumbering their French counterparts to an extent rarely seen at major tournaments, sang all the way to the end, but the dreams they have been dreaming for 36 years were brought to a premature halt by the final whistle.