Yet again Les Bleus failed to live up to their status as one of the tournament favourites, but they are now two wins from two and guaranteed to go through to the last 16.
France's three-man midfield, led by N'Golo Kante, took the sting out of a positive Peru start and Les Bleus soon began to create chances through the link-up of forwards Olivier Giroud and Antoine Griezmann.
The Chelsea striker was the supplier on 11 minutes when Griezmann dragged a left-footed shot wide, and then nodded down a long ball which the Atletico Madrid star volleyed straight at Peru goalkeeper Pedro Gallese.
Griezmann turned provider with an early corner which Raphael Varane sent wide with a glancing header, but the best chance to break the deadlock in the opening half an hour fell to Peru's all-time top goalscorer Paolo Guerrero, who shot straight at Hugo Lloris from 10 yards after getting away from Samuel Umtiti.
The South Americans were made to pay for their miss four minutes later when Mbappe became France's youngest ever World Cup scorer by converting a close-range rebound, after Gallese had partially blocked from Giroud.
Didier Deschamps' side finished the first half strongly and could have extended their lead, but a clear chance fell to the wrong man as Gallese saved from left-back Theo Hernandez after a fluid France move from right to left.
This momentum was not taken into the second period as Peru responded admirably, and although they did not cut open France again, they did unleash several decent efforts from long range in their search for an equaliser.
Pedro Aquino thumped a shot off the crossbar from 30 yards, with Lloris, making his 100th international appearance, beaten. The Tottenham Hotspur goalkeeper was never severely tested though as Andre Carrillo and Luis Advincula struck over the top.
France had been pushed back by their plucky opponents, who enjoyed more possession and made more successful passes than Les Bleus but could not end their 40-year wait for a goal on football's biggest international stage.
Captain Guerrero, starting after seeing a 14-month drug ban frozen to allow him to play in Russia, could have been Peru's hero but his 87th-minute free kick was easy pickings for Lloris as France settled for a one-goal victory.
Peru will be hoping to give their supporters, a reported 40,000 of whom have travelled to Russia, something to shout about in the final group match against Australia, who can still qualify ahead of Denmark with victory in Sochi.
FRANCE (4-3-3): Lloris; Pavard, Varane, Umtiti, Hernandez; Pogba (N'Zonzi, 89'), Kante, Matuidi; Griezmann (Fekir, 80'), Giroud, Mbappe (Dembele, 85')
PERU (4-3-2-1): Gallese; Advincula, Ramos, Rodriguez (Santamara, 46'), Trauco; Aquino, Yotun (Farfan, 46'), Carrillo, Flores, Cueva (Ruidiaz, 82'); Guerrero