Thorgan Hazard’s strike puts the victorious champions in the quarter-finals position in Belgium, where they will face Italy.
Defending champions Portugal were eliminated on Sunday from Euro 2020 with a 1-0 defeat against Belgium, who will face Italy in a quarter-final match.
A 43-minute attack from Thorgan Hazard secured victory for Roberto Martínez’s side, who survived pressure from the Portuguese in the second half.
But missing the finishing touch, it was the end of the road for Cristiano Ronaldo and a Portuguese team that had triumphed in Paris five years ago.
Portugal got a fingertip on Diogo Jota’s shot from the left 6 minutes in, and managed to keep the visitors from going up another goal.
Ronaldo tried Belgian goalkeeper Thibaut Courtois with a direct free kick, while Fernando Santos’ team kept pressing.
But Belgium became in the game with Kevin De Bruyne increasingly influential and three minutes before the interval they took the lead.
Some great play up the middle by Thomas Meunier led to a chance for Hazard to score after 29 minutes, but the shot hit the crossbar.
Belgium suffered a severe blow when De Bruyne was injured three minutes after the break and Santos tried to bring his team’s attack to life by introducing Bruno Fernandes and Joao Felix from the bench.
Ronaldo, from the right, did well to find Jota in the box, but again the striker’s effort was not objective, as Belgium struggled to contain their opponents.
Belgium’s attempts to counter were increasingly rare and Portugal increased the heat in the last ten minutes as they desperately sought a draw.
Courtois headed a shocking header from Ruben Dias from a corner kick and then Raphael Guerreiro shot to the post with a sweet shot for the first time from the edge of the area.
In added time, Portugal created one last chance, but Felix’s drive came out to the right of Courtois ’right post.
Belgium will face Italy, who beat Austria 2-1 on Saturday, in Munich, July 2. The Italians are unbeaten in their last 31 games.