Mbappe's 34th minute goal took him past David Trezeguet's record (20) as France's youngest scorer in the competition, at 19 years of age, and took them to two wins from two games in Group C.
When Olivier Giroud's shot took a deflection off a defender and looped over goalkeeper Pedro Gallese, the teenager was on hand to tap in a simple chance.
But Les Bleus failed to convert several other first-half chances and rarely threatened their opponents' goal after the break, as they struggled for the second game running to justify their status as one of the pre-tournament favourites.
The result leaves France on six points and Denmark and Australia on four and one respectively after their 1-1 draw earlier in the day.
Peru have yet to win a point but they have won numerous hearts in Russia, thanks to their industrious style of play and the passion of their supporters, a remarkable 15,000 of whom made the journey to roar on their team in Yekaterinburg.
They could have had even more to cheer, were it not for several near misses.
Spotting goalkeeper Hugo Lloris off his line, Yoshimar Yotun tried an audacious shot from just inside the French half that went just over the bar as Peru unsettled their opponents in the early stages.
Later in the first half, striker Paolo Guerrero outsmarted Samuel Umtiti in the penalty area but fired his shot at Lloris's legs.
After the break, Pedro Aquino hit the post and Andre Carrillo and Luis Advincula struck powerful shots over the bar, but all the Peruvian efforts were from long range.
Having survived a nervous opening 10 minutes, France looked as though they might dominate the match, with Antoine Griezmann darting at Peru's defence, Mbappe showing off his tricks and flicks, and full backs Benjamin Pavard and Lucas Hernandez pressing forward on the wings.
But they were subdued in the second half, suffering frustration in the closing minutes when Blaise Matuidi shot just wide and Giroud had an effort blocked that ballooned over the top of the goal.
( - REUTERS)