Match ends, France 1, Belgium 0.
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 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).
Functional France over flair
Twenty years ago, France won the World Cup for the first and only time in their history at home in Paris with a 3-0 win over Brazil.
That team was captained by Deschamps, who is now aiming to emulate Brazilian Mario Zagallo and Germany's Franz Beckenbauer by winning the competition as both a player and manager.
Deschamps was a holding midfielder in his day and his France side have come to characterise his playing style of functionality over flair by adopting a conservative game.
Belgium had 64% possession in the match but France kept their shape, played on the counter-attack and constantly looked to forward Kylian Mbappe, who was a threat throughout with his darting runs and trickery with the ball.
The teenager, who announced himself on the global stage by scoring twice against Argentina in the last 16, played a sublime flick to put Olivier Giroud in on goal, but the Chelsea man saw his shot blocked from close range.
Although Giroud has now had 13 shots in the tournament without finding the target, he is likely to keep his place in the starting XI for the final.
Deschamps has been questioned for continuing to deploy Giroud up front in his side and has been asked why a place cannot be found for other attacking talents such as Ousmane Dembele or Thomas Lemar.
But he has answered the critics with a run to a second consecutive major tournament final after Euro 2016, when they were beaten in extra-time by Portugal.
Once France went ahead on 50 minutes they rarely looked like conceding and Belgium went out with a bit of a whimper.
Golden generation unable to deliver
Ranked among one of the pre-tournament favourites, there was optimism that Belgium's 'golden generation' of players containing skipper Eden Hazard, Kevin de Bruyne and Romelu Lukaku could finally deliver silverware for their country.
But the win in the previous round against five-time winners Brazil proved to be their peak, and they suffered heartbreak in a major tournament once more.
The Red Devils lost in the quarter-final of both the previous World Cup and the European Championship and their second World Cup semi-final appearance ended in defeat, just like in 1986 against a Diego Maradona-inspired Argentina.
The team's 24-match unbeaten run stretching back to September 2016 also came to an end, as manager Roberto Martinez suffered a first loss in a competitive game.
Ten of the 11 starters were Premier League-based and one of those - striker Lukaku of Manchester United, who was excellent against Brazil, was left stifled by France's excellent centre-back pairing of Umtiti and Raphael Varane. Lukaku had just 22 touches on the ball in the whole match - the least of any player who started.
Manchester City's De Bruyne was unable to dictate the game and although skipper Hazard started brightly, fizzing a low shot narrowly wide and another deflecting over, he too drifted out of the game.
Belgium's only consolation is that they still have one game left to play in the tournament - Saturday's third/fourth place play-off against the loser from the England v Croatia encounter.
Anything to fear for England or Croatia?
One place is sorted and one remains up for grabs for Sunday's showpiece.
England against Croatia is an evenly matched contest and the Three Lions are looking to reach the final for the first time since 1966, where they won the competition on home soil.
Balkans nation Croatia saw their best performance come in 1998 when they finished third by beating the Netherlands in the play-off match. The French will start as favourites to claim the trophy but who will they face?
"I expect England to beat Croatia," former Scotland winger Pat Nevin said on BBC Radio 5 live."They are more powerful, and they will cause France problems."
Former Premier League striker Dion Dublin said: "England will be thinking 'oh dear, France are quite good'. Belgium were OK, but not as good as they could've been.
"When you get to the semi-finals of a World Cup you have to play well as a team, but Belgium did not look like scoring."
Former England striker Alan Shearer added: "Whatever happens, the England boys are coming home as heroes. They have an unbelievable chance to come home as legends."
'Couldn't ask for more'
Belgium manager Roberto Martinez said on BBC One: "It was a dead ball situation which was the difference.
"It was a close game and it was very tight and it was going to be decided by that bit of luck in front of goal. The attitude of the players was brilliant and we couldn't ask for any more. We have to understand one team wins and the other loses, and we did what we could."
Asked about the French goal, Martinez added: "That is the type of detail that counts in the semi-final of the World Cup. We have one game left and I want to ensure we finish the tournament on a high because these players don't deserve to leave here with a bad taste."
France boss Didier Deschamps: "The most important match is on Sunday, we have given ourselves a huge privilege to reach the final of the World Cup. I was there two years ago [Euro 2016 final] and it was so painful that we want to taste the victory now.
"It is nothing to win the semi-final after losing in the final two years ago, we have this privilege to give happiness to these people, but we will try to give even more happiness on Sunday."
Man of the match - Raphael Varane (France)
World Cup of set-pieces - the stats
- France have reached their third World Cup final, also doing so in 1998 and 2006. Only Germany (8) and Italy (6) have reached more among European nations.
- Since reaching their first in 1998, France have now reached more World Cup finals than any other nation (3).
- This was Belgium's first defeat of any kind since a friendly loss against Spain in September 2016.
- France have beaten Belgium three times in World Cup matches, more than they've beaten any other side in the competition.
- 44% of the goals at the 2018 World Cup have come from set piece situations (69/158, including penalties).
- Despite having almost two-thirds of the possession in this match (64%), Belgium attempted just nine shots - 10 fewer than France managed (19).
- Antoine Griezmann has been directly involved in 20 goals in his last 20 competitive games for France (12 goals, 8 assists).
- Griezmann has been directly involved in 13 of France's last 20 goals scored in major tournaments (World Cup and Euros), with nine goals and four assists.
- Only England's Harry Kane (6 goals) has been involved in more goals at the 2018 World Cup than France's Griezmann (5: 3 goals, 2 assists).
- 13KantéBooked at 87mins
- 10MbappéBooked at 90mins
- 14MatuidiSubstituted forTolissoat 86'minutes
- 9GiroudSubstituted forN'Zonziat 85'minutes
- 22ChadliSubstituted forBatshuayiat 90+1'minutes
- 2AlderweireldBooked at 71mins
- 5VertonghenBooked at 90mins
- 19DembéléSubstituted forMertensat 60'minutes
- 7De Bruyne
- 8FellainiSubstituted forCarrascoat 80'minutes
- 10E HazardBooked at 63mins
- 16T Hazard
- Andrés Cunha
- Shots on Target
Second Half ends, France 1, Belgium 0.
Yannick Carrasco (Belgium) wins a free kick in the defensive half.
Foul by Paul Pogba (France).
Corner, France. Conceded by Thibaut Courtois.
Attempt saved. Corentin Tolisso (France) left footed shot from the left side of the box is saved in the bottom right corner. Assisted by Paul Pogba.
Jan Vertonghen (Belgium) is shown the yellow card for a bad foul.
Foul by Jan Vertonghen (Belgium).
Kylian Mbappé (France) wins a free kick on the right wing.
Attempt saved. Antoine Griezmann (France) right footed shot from the centre of the box is saved in the bottom left corner. Assisted by Paul Pogba.
Kylian Mbappé (France) is shown the yellow card.
Substitution, Belgium. Michy Batshuayi replaces Nacer Chadli.
Foul by Nacer Chadli (Belgium).
Paul Pogba (France) wins a free kick on the left wing.
N'Golo Kanté (France) is shown the yellow card for a bad foul.
Eden Hazard (Belgium) wins a free kick in the attacking half.
Foul by N'Golo Kanté (France).
Substitution, France. Corentin Tolisso replaces Blaise Matuidi because of an injury.
Delay over. They are ready to continue.
Delay in match Blaise Matuidi (France) because of an injury.