France have reached the World Cup final for the first time since 2006 after another set-piece goal decided another World Cup game. In Saint Petersburg, Belgium were worn down by a mature French team.
France 1-0 Belgium
After a goalless first half dominated by Belgium, a header from French defender Samule Umtiti ultimately proved the difference in a World Cup increasingly being decided by set-pieces.
For long periods though, it was a battle fought on the ground — by two men in particular. Belgian captain Eden Hazard was the stand-out performer for the Red Devils, but even he was out-shone by Paris Saint-Germain teenager Kylian Mbappe.
The frantic start to the game suited the 19-year-old perfectly as the teenager provided a series of early reminders of the French threat, leaving Jan Vertonghen for dead early on before almost latching onto a Paul Pogba through ball that he had absolutely no right to reach.
Otherwise though, it was Belgium who were dominating possession, forcing the French midfield back and edging ever closer to an opening goal. They fashioned a couple of half-openings courtesy of the majestic Hazard, who saw a low cross cleared and a snap-shot go wide.
The next time the Chelsea man cut inside past Stuttgart's Benjamin Pavard, his effort was knocked over the bar by the head of Raphael Varane. From a corner soon after, Toby Alderweireld's shot was expertly saved by Hugo Lloris.
But Hazard continued to wave his magic wand down the left. He had the young Pavard in particular under his spell; displaying strength, balance, control and skill in one fluid movement.
France needed a counter-spell of their own and turned to their own magician — Antoine Griezmann. The Atletico Madrid forward set his sights with a right-footed effort over the bar, before finding Mbappe in the box with a wonderful lofted pass — but Olivier Giroud couldn't connect properly as the half ended goalless.
Given the battle on the ground, it was ironic that the opening goal came from the air. Samuel Umtiti rose above Marouane Fellaini at the near post to head Les Bleus into the lead.
Belgium needed a goal, but had seen ample evidence of France and Mbappe's threat on the counterattack.
Fellaini beat Varane to Dries Mertens' cross but his header went just wide and desperation seemed to be setting in as Kevin de Bruyne lashed wildly over the goal from distance. But if it was indeed desperation, then it was testament to France's defensive work and Blaise Matuidi and N'Golo Kante in particular.
Belgium should have had a free-kick when Hazard was brought down by Olivier Giroud on the edge of the box, but Uruguayan referee Andres Cunha inexplicably waved play on. Then Lloris saved well from a vicious Axel Witsel effort.
Romelu Lukaku was inches away from meeting a late De Bruyne cross, but it was France who came closer to increasing their lead as Courtois saved from Griezmann and substitute Corentin Tolisso in injury time.
Having lost to Portugal on home turf at Euro 2016, this France team is now two years older and will be favorites to beat either England or Croatia in the 2018 World Cup final.
As it happened:
FULL TIME! FRANCE HAVE WON TO MAKE THE WORLD CUP FINAL!
90+5' SAVE! Courtois denies Tolisso with a great, diving safe to his left. Corner to France. That is probably that.
90+5' Just 70 odd seconds left now...
90+4' Cross comes in from Belgium, cleared. Vertonghen booked for a foul on Mbappe. More time for France...
90+3' Griezmann gets a chance to shoot, does, but it's easy for Courtois.
90' Six minutes of stoppage time to come... Six minutes for Belgium to find an answer, or head to the third/fourth playoff on Saturday. Michy Batshuayi is on for Chadli. All or nothing now from Belgium. The difference, as it so often has been in Russia, is a set-piece goal.
88' Mbappe loses it when he could have cleared, and when Kante gets booked for a foul on Hazard moments later it's no surprise to see Pogba shout at Mbappe. The cross is cleared after a scramble, and then De Bruyne floats in another ball which Lukaku decides not to head goalwards. Another half chance, but time is almost up.
86' Matuidi goes down and looks in pain. Belgium aren't happy with him time wasting, but he doesn't look too well. Tolisso on for him. What a performance from Matuidi though. Superb.
84' Nzonzi is coming on for Giroud, as Deschamps looks to shut up shop and make sure France see this one over the line.
81' CHANCE! Lukaku lays it off to Hazard. Varana makes a great tackle to deny him, but Witsel hits a first effort swerving away from Lloris. Tricky, but palmed wide by the French captain. What a passage of football there. A great touch, tackle, shot and save. Superb!
80' Giroud fouls Hazard on the edge of the box, but the refere waves play on. Odd. Where is VAR when you need it? Carrasco comes on for Fellaini. Just 10 minutes left now...
78' A lesson on how to tame this Belgium side here from France. Sit deep, make them force it and remove the space for De Bruyne and Hazard to operate in. France have done that really well tonight, and have tamed the Red Devils in the process.
75' Kevin de Bruyne has a go after Belgium wait for a yard or two of space to appear, but the Man City man gets it wrong and sends it high and wide. Going to need more than that...
73' OUCH! Umtiti gets a ball to the face, looks in pain, then carries on and then goes down. Odd, but on we go.
71' Belgium launch a mini surge. Pogba has to head clear, then Lloris has to punch clear. Alderweireld gets booked for a late tackle as France break out. Time for Martinez and his boys to stick or twist, otherwise Les Bleus will be allez-ing their way to the final.
68' Mbappe is just sensational. Drives forward again, and then has the eye to spot and the delivery to find Griezmann on the far side. The French number seven controls it and sets up Giroud, but he blazes over. Not the first missed chance by the Chelsea man tonight.
65' HALF CHANCE! Fellaini heads wide, attacking a cross late. Sums up Belgium's game so far really. Nearly but not quite...
64' Hazard is booked as he hauls down Matuidi to prevent a French counterattack. Had to really, and that's the line Belgium now have to tread if they're to get back into this one.
62' CHANCE! What a semifinal this is. Mertens makes an instant impact, hanging up a cross that is half cleared. De Bruyne gets to it, but fluffs the shot. A chance though, but likely not Belgium's last.
61' CHANGE! Roberto Martinez needs to change it up and does, Dembele makes way for Dries Mertens. Is this the moment Belgium find their way back into the game?
56' CHANCE! Mbappe with an incredible touch and flick on the edge of the box sends Giroud through, but Courtois clears. My goodness, what a piece of skill from Mbappe right there though. His pace nearly sets up France again moments later. It's looking like his World Cup alright.
55' Belgium are reeling somewhat, and have to deal with another French set-piece. They do, but can't find an answer going forward yet.
51' GOAL! 1-0 France (Umtiti)! The importance of set-pieces at this World Cup! A corner from Griezmann, and Samuel Umtiti beats Maroune Fellaini at the near post to send a great header into the far corner. Right then Belgium, what have you got?
48' CHANCE! Under close attention of Varane, Lukaku gets his head to a whipped cross but it's over. Difficult, but the striker will likely have wanted to get that on target.
46' Belgium get the second half started! A goal in the next 45 minutes, or are we destined for more drama?
Two good saves, one from each keeper, leaves it scoreless at the break. It has been entertaining, with moments of quality and pace from both attacks. It's such an intriguing game, that has far more to it than it's 0-0 headline.
44' Belgium looking for halftime now, such is the momentum shift. France pushing for an equalizer, with Mbappe and Griezmann causing problems. Dembele fouls Pogba on the edge of the box, right of the dee. Griezmann stands over it... Straight into the wall.
40' GREAT SAVE! Mbappe slips in the overlapping Pavard, who shots across goal only to be denied by Courtois' outstretched foot. With a big more height on that finish, Pavard scores there... A chance, but another good save from a goalkeeper in this game.
37' This game! Belgium launch an attack, it breaks down and France drive forward. The passing in tight areas is great and Griezmann drives forward with options ahead of him, but he picks none and sends a low shot wide. Could have done more there...
34' BIG CHANCE! Griezmann gets this pass right, floating into Mbappe on the right side of the box. His pass is first time and in the air to Giroud in the box, but his effort dribbles wide. Should have done better there, even though he had the attention of a defender to deal with...
33' Neat free kick routine from France sees Griezmann play it short to Pavard, who flicks it into Giroud. The Chelsea man gets to it, but it's just wide. Down the other end, Hazard dinks in and out of the French defense but runs out of pitch. Incredible control. Back up the other end, Griezmann blazes over outside the box. What a game!
28' De Bruyne is patient out wide left, then fizzes in a low cross and Umtiti has to slide to clear again. Belgium are causing problems, but so far, just about, France are dealing with them.
25' France trying to take the tempo out of the game by keeping possession and then latching onto the gaps when they appear. They do that and win a corner, their first of the game, but it's cleared.
22' GREAT SAVE! The corner falls to Alderweireld, who turns and shoots for the far corner with his weaker foot, but a full-stretch Hugo Lloris tips it wide. Very impressive save.
20' CHANCE! Incredible header by Varane to clear a stinging Hazard shot over the bar. The Frenchman has to do the same again moments later. Belgium building momentum here...
18' Mbappe's pace on the right is scary. Belgium will wish there was a speed limit there. His direct pace opens the play up again for France, and it ends with Matuidi taking a shot that Courtois saves comfortably.
16' CHANCE! Well, sort of. Pogba has no options so has to go to his keeper. Instead it ends up with Varane, who touches it back to Lloris, who has to clear quickly and then the chance opens up for Belgium. De Bruyne puts in Hazard on the left, but the Chelsea man drags his shot wide. Pogba is furious afterwards that Lloris didn't offer himself there, and I can understand why.
13' Intriguing. Chadli looks more like a wingback on the right, but Vertonghen is a normal left back. Lopsided, to throw the French off? So many games inside this game. France flirt with a chance, but can't get control it. Then Pogba's quick feet in midfield allow him to slip in Mbappe, who eats up the ground to nearly get onto it. Close, but what incredible speed from Mbappe there. Blimey.
9' The game slows after a burst of speed to begin with. Belgium knocking it around here, and France just watching on. Not many watching on in the stadium though, as the picture from Martin below shows.
6' Hazard down the left, low cross and Umtiti has to clear for a corner. Belgium on the front foot...
4' France get dragged out of position, De Bruyne can open up the play but the cross from Chadli is poor and Hernandez can clear it. Not long after, Belgium get joy down the right again but France clear again. A potential weakness in this French side? Good start here.
2' Mbappe burns down the right in the opening 10 seconds and Griezmann nearly gets to the cross too! What a start! Belgium look like Nacer Chadli is slotting in as a right back in a four-man backline.
1' The first World Cup semifinal is underway, France get us started!
19:57 Belgium's players give it a rousing go as well. It's go time! Who is excited? I am!
19:56 The French national anthem is great, as always. Emmanuel Macron is here tonight, and he sings along, leaning over the glass railing of his box afterwards like a hopeful kid. Football eh? What a leveler it can be.
19:51 Kylian Mbappe has six goals in his last nine games for France. Will he add to that total tonight? "It's illegal, what he does," former England defender Rio Ferdinand says on the BBC ahead of the game. Will Belgium's defense lock him up tonight (sorry, I couldn't help myself)? Teams out shortly. Butterflies anyone? This is what it's all about.
19:31 The teams are out! Blaise Matuidi returns for France, and Belgium, as predicted, have no natural fullbacks.
France: Lloris - Pavard, Varane, Umtiti, Hernandez - Pogba, Kante - Mbappe, Griezmann, Matuidi - Giroud
Belgium: Courtois - Alderweireld, Kompany, Vertonghen - Cahdli, Dembele, Witsel, Fellaini, De Bruyne - Lukaku, Hazard
19:24 There will be some key match-ups tonight, for more on that see Matt Pearson's piece regarding the key battles. There's also quite a bit of inside knowledge in both campsahead of tonight's game, which spices things up.
19:20 Good evening! It's hard to believe there are just four games left in this World Cup tournament. After all the excitement, we'll soon now who will be lifting the trophy. Before that, we have to find out who contest for it. Tonight sees perhaps the best two sides left in the competition face off. It's almost a shame to see one of France and Belgium depart, considering how exciting their matches have been so far in Russia, but tonight only one can win. We'll bring you live updates here, but be sure to get involved in the debate over on Twitter (if that's more your thing).