Didier Deschamps's troops peppered the stands with shots off target but did well to control the contest and keep the Red Devils' attacking threats quiet.
The game opened up more in the second period, with Domenico Tedesco's side finding a way to get up the pitch before being denied by some last-ditch defending.
The game-defining moment arrived in the 85th-minute, when substitute Randal Kolo Muani saw his effort deflect off the knee of Jan Vertonghen and past Koen Casteels.
France know that they will need to up their levels considerably in order to win this competition, but progression is the most important thing at this stage, and Les Bleus are the ones who secured it.
HIGHLIGHTS
10th min: First chance of the contest, Griezmann collects a short pass and fires his effort towards goal, but the attempt is straight at Casteels.
15th min: Belgium's claims for a penalty are waved away. Carrasco breezes past Hernandez and the former suffers a tumble, with the referee continuing play.
34th min: Kounde earns a yard of space on the right byline and whips a delightful ball into the box, Thuram rises highest but his header fizzes agonisingly wide.
45th+1 min: France carry out a short-corner routine, with the ball finally rolling into the path of Tchouameni, but the Real Madrid star blazes his effort over the bar.
HALF TIME: FRANCE 0-0 BELGIUM
49th min: Tchouameni attempts to curl the ball from outside the box, there is a slight deflection off Faes which takes the power from the attempt, Casteels parries the shot out for a corner.
61st min: De Bruyne slips a delightful ball through to Carrasco, but Hernandez recovers exceptionally to block the effort on goal.
83rd min: De Bruyne is free on the edge of the box and fires a venomous shot which is parried into danger, but the France defence get back and clear away.
FRANCE GOAL - 85TH MIN: Patient play from France. The ball is worked to the right and eventually Kolo Muani is found in the box, where he gets a yard of space on Vertonghen and hits a strike, which deflects over Casteels.
MAN OF THE MATCH - Jules Kounde
Facing one of the trickiest wingers in world football, a lot of France's defensive success against Belgium was down to the committed work of Kounde at right-back.
The Barcelona defender locked down Jeremy Doku on numerous occasions, limiting him to just three touches in Les Bleus' box.
Kounde was also a useful outlet on the attack for France, marauding down the right at points and delivering some excellent balls, ones which Marcus Thuram should have done better with.
STANDOUT MOMENT
In a game filled with nearly moments and off-target shots, the standout occasion has to be the only goal of the game on the 85th minute, with Belgium legend Vertonghen enduring a moment to forget.
At 37 years old, the Anderlecht's defender final contribution at a major tournament for his nation is likely to be diverting the ball into his own net.
A stalwart of Belgium's Golden Generation, Vertonghen's international career will not be defined by his failed attempts to block a Kolo Muani strike.
BEST STAT
MATCH STATS
Possession: France 55%-45% Belgium
Shots: France 19-5 Belgium
Shots on target: France 2-2 Belgium
Corners: France 5-2 Belgium
Fouls: France 7-10 Belgium
LINEUPS
France (4-3-3): Maignan; Kounde, Upamecano, Saliba, Hernandez; Tchouameni, Kante, Rabiot; Griezmann, Thuram (Kolo Muani 62'), Mbappe
Belgium (3-4-3): Casteels; Faes, Vertonghen, Theate; Castagne (Lukebakio 88'), Onana, De Bruyne, Doku; Carrasco (De Ketelaere 88'), Openda (Mangala 64'), Lukaku