The Red Devils had a front-three of Romelu Lukaku, Kevin De Bruyne and Eden Hazard as France did likewise with Karim Benzema, Antoine Griezmann and Kylian Mbappe.
Belgium nearly made the perfect start four minutes in from a half-volley by De Bruyne, but Hugo Lloris parried before Kylian Mbappe smothered a decent chance at the other end.
The number one ranked nation in the world drew first blood eight minutes to halftime as Yannick Carrasco wrong-footed Lloris with a low shot into the near post after cutting inside.
It was 2-0 four minutes thereafter through Lukaku, who collected a pass by De Bruyne before going on to blast into the roof the net from an awkward angle.
Lukaku was still fired up as the second half resumed and was in sight of a brace through a first-time volley in the six-yard area following a cross from the right, but goalkeeper Thibaut Courtois saved.
France got a lifeline with 61 minutes played following a disjointed spell, as Benzema wriggled past a few defenders in the area to beat his club-mate Courtois from close-range.
Les Blues levelled matters after seven minutes when Mbappe beat Courtois with a composed penalty-kick after Youri Tielemans fouled Griezmann, after a check on the Video Assistant Referee monitor.
With Hans Vanaken on the pitch, Belgium could’ve trailed for the first time towards the closing minutes but a double save from Courtois denied Paul Pogba and Griezmann.
Belgium looked to have gone ahead again following the last three minutes from a side-footed finish in the area by Lukaku, but the flag went up following an offside in the build-up.
Les Blues utilised the lifeline and snatched the winner a minute added time when Theo Hernandez brought a square pass under control to find the far corner.