Les Bleus have faced serious injury problems ahead of the international break, with Paul Pogba and N’Golo Kante among the absentees, and have often lacked fluidity at the Stade de France.
But Mbappe stepped up after 56 minutes, driving past numerous defenders and finishing past Patrik Penz before Giroud headed in to help Didier Deschamps’ side to victory.
Last tournament’s winners, France, will now have relegation to the Nations League in their hands, but are unable to progress from Group A1 after leaders Croatia knocked out Denmark.
Mbappe thought he had put France ahead in the second minute, only to be denied by an offside flag before Jonathan Klaus forced Penz to tap home from distance.
Jules Kunde was withdrawn as Les Blues’ injury problems continued, before Benoit Badiachile’s acrobatic effort was tipped onto the crossbar by Pentz, who denied Antoine Griezmann from close range.
Clever passing between Mbappe and Griezmann led to Klaus almost turning over after the break, but France were soon in front.
Mbappe collected the ball from Giroud’s run before darting forward into the area and firing a right-footed shot beyond Penz’s reach.
Griezmann scored the second when his cross from the right wing found Giroud, who headed into the top left corner to seal victory for France.