Samuel Umtiti’s headed goal in the 51st minute helped France beat Belgium 1-0 and book a place in the World Cup final.
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 tactical match on Tuesday, it was once again a set-piece that proved decisive with Umtiti’s near-post header from an Antoine Griezmann corner settling matters.
Belgium took early control of midfield with France content to sit deep and eliminate the threat of counter-attacks from Eden Hazard and Kevin 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.
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.
Fellaini flashed a header just wide and Axel Witsel forced a good save out of Lloris as Belgium pushed forward for an equaliser and France hung on in six minutes of stoppage time to book their place in the final.