The French superstar provided the assist for Karim Benzema’s goal which halved the deficit, before dispatching a wonderful penalty to equalize after 69 minutes.
Mbappe had not scored in his last six internationals and had missed the decisive spotkick against Switzerland, which saw France knocked out of Euro 2020 earlier this year.
With the scores tied, France started pushing for a winner but it was Belgium’s Lukaku who thought he’d won it with three minutes remaining.
The Chelsea striker steered Carrasco’s cross past Hugo Lloris but his celebrations were cut short by VAR, which found Lukaku to be offside.
After the late reprieve, France pushed again and there was still time for Paul Pogba to smash the crossbar with a wonderful freekick before Theo Hernandez struck the decisive blow.
The full-back ran onto a low cross and arrowed a low drive past Thibaut Courtois in the 90th minute to seal the win.
‘This generation wants to bring silverware’
The Nations League was set up to make international matches more exciting and the French celebrations at the final whistle suggests it’s working.
“We were unlucky in the first half. We sat back a little too much,” said France coach Didier Deschamps after the game.
“They had a good period for 20 minutes but after that we were not in danger and had a lot of chances.
“The result shows the character of the team. We were here to play the final and here we are.”
Despite being rated as the world’s best team by FIFA, Roberto Martinez’s side has struggled under the weight of expectation and is running out of time with this current crop of players.
“It is the responsibility we feel to our fans and the way this generation wants to bring silverware in such a desperate manner,” Martinez said after the match.
“In the second half, we were a little too emotional — maybe we were thinking a little too much about the final, about qualifying. We didn’t do what we had to do. We let France come back”.