A resolute defensive display from Hugo Lloris, N’Golo Kante and Paul Pogba and a battling performance up front from Olivier Giroud helped earn France a place in the 2018 FIFA World Cup final.
Samuel Umtiti’s second-half header clinched a 1-0 victory over a spirited Belgium side inspired by their captain Eden Hazard.
Hazard was one of 14 players who appeared in the Premier League last season to start the match in St Petersburg.
But the Chelsea playmaker could find no way past the Tottenham Hotspur goalkeeper, who also pulled off a fingertip save from his club-mate Toby Alderweireld.
France will face England or Croatia in the final at the Luzhniki Stadium in Moscow at 16:00 BST on Sunday.
Belgium will contest the third-place playoff in St Petersburg at 15:00 BST on the previous day.