France fought back from a two-goal deficit to defeat Belgium 3-2 in a UEFA Nations League semi-final on Thursday.
Roberto Martinez's men raced into a 2-0 lead, thanks to Yannick Carrasco and Romelu Lukaku.
However, after the break, Karim Benzema pulled one back with a neat turn and finish.
The world champions then turned the game around through goals from Kylian Mbappe and Theo Hernandez.
There was still time for Lukaku to have a late effort ruled out for offside by VAR.
They will now face Spain in Sunday's final.