Mbappe, who was a permanent threat, found the back of the net in the late stages to cancel out Julian Green’s first-half opener, with Didier Deschamps’s team lacking energy after a demanding physical preparation.
France start their World Cup campaign against Australia in Group C in one week before taking on Peru and Denmark.
They enjoyed most of the possession against the US in Lyon but lacked speed, with the exception of Mbappe.
“It’s always best to win but it’s a warm-up game and we lacked a bit of juice. We had a lot of opportunities against a team who left us little space”, said Deschamps.
“We regained the upper hand near the end.”
“I’ve been improving steadily in the last three matches and tonight I did what I was supposed to do, I was decisive,” said Mbappe.
Paul Pogba, who has been heavily criticised after several under-par performances, started and put on a good display.
Les Bleus had a clear chance in the 21st minute when Mbappe’s glorious through ball was collected by Antoine Griezmann, whose crossed shot shaved the far post.
Djibril Sidibe failed to cleanly clear the ball and Green surged into the area to fire past Hugo Lloris on the stroke of halftime.
Striker Olivier Giroud was substituted by Ousmande Dembele shortly before the hour with blood on his forehead after a collision with Matt Miazga.
Mbappe came close with a curled free kick in the 69th, just before Griezmann was substituted by Nabil Fekir.
The Paris St Germain striker was more accurate in the 78th minute when he latched on to a perfect cross from Benjamin Pavard, who with Lucas Hernandez made a strong impression in the second half as fullback after Djibril Sidibe and Benjamin Mendy failed to impress before the break.
Fekir’s fine free kick was parried away by Zack Steffen in spectacular fashion 10 minutes from time as France found a second wind in the closing stages.