Jan Vertonghen’s 85th-minute own goal was the fatal blow for Belgium, who were knocked out of Euro 2024 after a 1-0 last-16 defeat to France in Dusseldorf.
France, who have yet to net a goal in open play, have struggled to find the back of the net, coming out of the group stage having scored the fewest goals in an opening round since the 2010 World Cup.
Didier Deschamps’ men might have wanted more from their chances, including a couple for Kylian Mbappe, but settled for progression when Randal Kolo Muani’s effort caught the Belgian defender to hand Les Bleus a late lead.
Last-gasp chances for Belgium never came to fruition in the cagey contest, while France will hope to improve their attacking efforts against the winner of Portugal and Slovenia in Hamburg on Friday.
France got off to a promising start but Belgium defended well, Mbappe getting his first real taste from a short corner just before the 15-minute mark but he was off-target, sending his effort over the bar.
France had more attempts as they applied pressure without getting anywhere.
Marcus Thuram nodded an effort wide and Antoine Griezmann continued his bright start to the contest.
Kevin De Bruyne came closest to an opener for Belgium in the 24th minute, dangerously floating a free-kick through a sea of bodies and forcing an alert save from Mike Maignan.
Belgium began to look more lively, Yannick Carrasco seeing a shot blocked, while Thuram missed another big chance from Jules Kounde’s cross, nodding wide, and Aurelien Tchouameni could not find the finishing touch, sending an effort just over the crossbar late in the first half.
Thuram came even closer with a header after the break while Mbappe finished a fine run with another near-miss as the chances piled up without reward for Les Bleus, including another Mbappe effort as the final 10 minutes approached.
Romelu Lukaku had moments before failing to fire Belgium ahead from a fine Orel Mangala delivery, and it was De Bruyne who again tried to make the difference for Belgium with an 83rd-minute attempt again denied by the French keeper.
Two minutes later Lukaku lost the ball at the edge of his own penalty area and France took the lead, preventing a resilient Belgian side from forcing extra time when Kolo Muani caught Vertonghen’s leg for the lucky break to seal victory.