France, one of the pre-tournament favourites, joins Uruguay and hosts Russia in the knock-out rounds with one group game to go.
Paris Saint-Germain forward Mbappe - aged 19 years and 183 days - underlined his rich talent and claimed his place in the French record books when he poked home in the first half.
Paul Pogba, the Manchester United midfielder who a few days ago called himself most criticised player in the world, flashed a drive wide and defender Raphael Varane did likewise from a header.
With 15 minutes gone, Pogba and France began to impose themselves.
Antoine Griezmann drove straight at goal-keeper Pedro Gallese after Olivier Giroud - starting in place of Ousmane Dembele - set up the Atletico Madrid forward.
Peru, unfortunate to lose 0-1 to Denmark in their first game, took until the half-hour to have their first serious chance, with recalled Skipper Paolo Guerrero stinging the legs of Hugo Lloris.
France Captain Lloris, making his 100th appearance for his country, was a bystander for long periods.
On 34 minutes France went in front. Pogba cleverly played in Giroud, his shot took a deflection and looped over Gallese, allowing Mbappe to stab into an open net.
New-found confidence ran through the French and Hernandez should have made it 2-0 just before the break.
As in the first half, Peru made the better start to the second and midfielder Pedro Aquino arrowed a long-distance rocket onto Lloris's upright.
But for all their possession, Peru - in their distinctive white kit with red sash - caused the French defence few problems.
Barcelona centre-back Samuel Umtiti was imperious alongside Real Madrid's Varane.