Mbappe showcased his phenomenal pace and strength on the way before finishing emphatically to put the hosts ahead in the 56th minute at the Stade de France.
The recalled Olivier Giroud doubled their lead nine minutes later, heading in Antoine Griezmann’s cross to score his 49th international goal -- he is now just two goals short of Thierry Henry’s French record.
“We did what we needed to do to get the victory, creating lots of chances and controlling the match,” said France coach Didier Deschamps.
“There are lots of positives to take from the game.”
Injuries had deprived Deschamps of a whole team, with goalkeeper and captain Hugo Lloris, midfield duo N’Golo Kante and Paul Pogba, and Karim Benzema among the players missing.
Pogba has also been in the headlines after filing a complaint with Italian prosecutors saying he was the target of a €13 million ($13m) blackmail plot.
His brother Mathias is one of five people charged and detained in the case.
Meanwhile this week began with Paris Saint-Germain superstar Mbappe refusing to take part in a photo shoot in a row with the French Football Federation over image rights.
Mbappe celebrated his goal by mimicking a photographer in an apparent nod to that row.
Just eight days shy of his 36th birthday, Giroud is France’s oldest ever goal-scorer.
Coming exactly two months before they begin their World Cup defence against Australia in Qatar, the result also allowed France to stave off the threat of relegation from the top tier of the Nations League, a competition they won just last year.
Deschamps’ side still need to win their last Group A1 game away in Denmark on Sunday to be certain of avoiding relegation, while qualification for the four-team finals next June already out of reach.
Netherlands see off Poland
The Netherlands are well placed to advance to the finals from Group A4 after a 2-0 win away to Robert Lewandowski’s Poland in Warsaw.
Cody Gakpo turned in a Denzel Dumfries centre at the end of a superb move to put the Dutch in front early on, while Steven Bergwijn made it 2-0 on the hour mark after a one-two with Vincent Janssen.
“It was a big test for us. I am very satisfied with how we played,” said Dutch coach Louis van Gaal.
Meanwhile, Croatia, the 2018 World Cup runners-up, are on course to top the section after beating Denmark 2-1 in Zagreb.
Borna Sosa’s 49th-minute opener for the hosts was cancelled out by a magnificent Christian Eriksen strike in the 77th minute.
However, Croatia’s winner came just two minutes later through Lovro Majer.
Croatia are a point clear of the Danes before going to Vienna to play bottom side Austria on Sunday.
Group rivals Belgium beat Wales 2-1 in Brussels, with Kevin De Bruyne and Michy Batshuayi scoring first-half goals before Kieffer Moore pulled one back.
The Netherlands are three points clear of Belgium before the sides meet in Amsterdam on Sunday.
However, having won 4-1 in Belgium in their last meeting, even a two-goal defeat would be enough for Van Gaal’s side to qualify for the four-team finals.
In contrast Wales -- who had no Gareth Bale in their starting line-up -- must now beat Poland in Cardiff on Sunday to stay in League A.
Spain and Hungary top the other two groups in League A before action continues on Friday, when Germany host the Hungarians while England face Italy in Milan.