Samuel Umtiti’s 51st-minute header sent France into the World Cup final with a ruthless 1-0 win over Belgium in an absorbing first semi-final on Tuesday.
Didier Deschamps’ side will face England or Croatia in Moscow on Sunday as the French look to lift the trophy for the second time following their triumph on home soil in 1998.
In an enthralling, albeit highly tactical rather than incident-packed match, it was once again a set-piece that proved decisive with Umtiti’s near-post header from an Antoine Griezmann corner settling matters.
Having gained the lead, France showed the defensive nous to nullify the threat from Belgium’s Eden Hazard and Kevin de Bruyne, closing out the game for a win that sent them to their second straight major tournament final, following their loss to Portugal in Euro 2016.
It had been suggested that France needed to step up a level in quality to get past the Belgians and they did just that even if their disciplined, professional performance hardly set the pulses racing.
But the worrying factor for Croatia or England is that France still look to have another gear to move into.
Deschamps, coach at Euro 2016 and captain of the 1998 World Cup winners, suggested as much.
“We showed character and mentality, it was very hard for us tonight. We worked hard defensively, we needed to take advantage a bit more in the counter-attacks but congratulations to my players and my staff,” he said.
Belgium manager Roberto Martinez was left frustrated by his team missing out to a set-piece goal, a familiar outcome in this tournament.
“Unfortunately for us the difference was a dead-ball situation. The game was very close, very tight and it was going to be decided by a little bit of luck in front of goal,” he said.
Belgium took early control of midfield with France content to sit deep and eliminate the threat of counter-attacks Hazard and De Bruyne.
But it was by no means a purely negative approach as the French offered their own danger on the break, perfectly illustrated when Paul Pogba’s delivery sent Kylian Mbappe racing towards goal and Belgium were thankful their keeper Thibaut Courtois was alert to snuff out the danger.
The first real opening came in the 16th minute when De Bruyne hooked the ball into the path of Hazard whose shot was just wide of Hugo Lloris’s far post.
Hazard was dangerous again moments later when he cut in from the left and unleashed a rasping drive which clipped off the back of Raphael Varane and just over the bar.
From a Belgium corner, Toby Alderweireld tested Lloris with a smart shot on the turn but as the half progressed France began to create more.
Olivier Giroud flashed a header just wide and Mbappe set up Benjamin Pavard whose low shot was kept out by the outstretched leg of Courtois.
It was a fascinating first half and all that was missing was a goal but one came soon after the break.
From Griezmann’s corner, Umtiti beat Marouane Fellaini at the near post and powered a header home to put France ahead.
Martinez brought on Dries Merteens for Moussa Dembele in an attempt to liven up his attack but France were now focused purely on frustrating Belgium’s creative pair.
With Ngolo Kante marshalling the effort, France were on De Bruyne and Hazard like a flash, snuffing out the slightest opportunity for them to probe the French defence.
The nearest Belgium came to a leveller was a header from Fellaini which flashed just wide and a fierce strike from distance by Axel Witsel which the impressive Lloris parried away.
France can begin to prepare for the final at the Luzhniki Stadium, eager to avoid a repeat of 2006 when they were beaten by Italy on penalties in Berlin and the pain of the loss to Portugal on home soil in 2016.
“Two years ago, I remember what happened two years ago,” Deschamps said. “We will go into this final to win it as we have still not gotten over the (2016) final.”