France will face England or Croatia in the World Cup final after edging past European neighbours Belgium in the semi-final in St Petersburg.
Defender Samuel Umtiti scored the winning goal for the 1998 champions in the second half with a towering header from Antoine Griezmann's corner.
Didier Deschamps' side were on the back foot for large periods of the game, but emerged victorious to reach their third final, having been beaten by Italy on penalties in 2006.
Belgium came through the quarter-finals by impressively beating Brazil, but they were unable to find the equaliser, as Axel Witsel's powerful, long-range drive was pushed away by Hugo Lloris, who also brilliantly kept out Toby Alderweireld's turn and shot.
At the final whistle, the France substitutes ran on the pitch to celebrate with the players, while manager Didier Deschamps was mobbed by his staff before dancing around in a circle.
England play Croatia at the Luzhniki Stadium in Moscow in the second semi-final on Wednesday (kick-off 19:00 BST) and the final takes places at the same venue on Sunday (16:00 BST).