Belgium stopped Cristiano Ronaldo on one end, and had just enough attacking power on the other.
The top-ranked Belgians held Ronaldo scoreless Sunday and held onto a first-half lead to beat Portugal 1-0 and advance to the quarterfinals of the European Championship.
Ronaldo, who threw his captain's armband to the ground in despair after the final whistle, is still one goal shy of becoming the all-time men’s top scorer in international soccer. He came into the match tied with former Iran striker Ali Daei at 109 goals.
Belgium, which has never before won a major football title, will next face Italy on Friday in Munich.
Belgium's potent attack, led by Kevin De Bruyne, Eden Hazard and Romelu Lukaku, also struggled, but Thorgan Hazard scored the winning goal in the 42nd minute with a swerving shot from outside the area. Portugal goalkeeper Rui Patrício was left wrong-footed and was late to swat the ball away.
“In these kinds of games you have to grab your chances with both hands," Thorgan Hazard said. “The goalkeeper expected me to choose the other corner, so the ball went in.”
Belgium played most of the second half without De Bruyne, who had to be substituted after being tackled from behind and injuring his left ankle. De Bruyne missed the team's first game at Euro 2020 while recovering from a facial injury sustained in the Champions League final.
Portugal had several good chances to equalise late in the match, including a header by Rúben Dias saved by Belgium goalkeeper Thibaut Courtois and a shot by Raphael Guerreiro that hit the post.
The Portuguese did most of the attacking in the second half, finishing the match with 24 attempts. Belgium had six in total and scored the only time it hit the target.
“Looking at that second half, we are lucky to win,” Belgium defender Thomas Vermaelen said. “Portugal made it really hard for us. We had to really stay focused. It has cost us a lot of energy, but we have some time to recover and now we are looking forward to the game against Italy.”
While Portugal's run for a second consecutive European title ended, Belgium stayed on track to end its title drought. The Belgians lost in the European Championship final in 1980 and finished third three years ago at the World Cup for their best finish at that tournament.
The Red Devils have won all four matches so far at Euro 2020 and won all 10 qualifiers for the tournament. The team is unbeaten in 13 consecutive matches in all competitions, since a loss to England last year in the Nations League. Belgium has lost only one of its last 27 international matches.
“We showed incredible concentration and defended really well," Belgium coach Roberto Martinez said. “We scored a very good goal and then in the second half, as you would expect, the momentum went to Portugal more. We had to show an incredible mentality.”
Ronaldo was kept in check for most of the match, with his best scoring chance coming from a free kick saved by Courtois in the 25th minute. He also was off target with a free kick in the 74th, and then only managed a weak shot on goal from inside the area a few minutes later.
The Juventus striker seemed frustrated by the lack of opportunities, and he also couldn’t do much to help his teammates, with Diogo Jota misfiring from close range after a pass from Ronaldo in the 56th.
“We have some players crying in the changing room, and I'm sure that many Portuguese fans are as well,” Portugal coach Fernando Santos said. “We were confident with our chances of winning the European title and we thought we could win it. Portugal deserved to win this match but it didn't happen.”
It had been a slow start at La Cartuja Stadium on a hot night in southern Spain, with neither team threatening much offensively.
Portugal kept Belgium's attack under control until Thorgan Hazard scored after a failed clearance in front of the area. The buildup to the goal started with Courtois dummying Ronaldo inside his own area. The forward tried to put pressure on the goalkeeper but he cut back with the ball as Ronaldo went past him.
The game grew heated at times, with a small altercation starting in the 76th after Portugal defender Pepe came in hard on Thorgan Hazard while play was stopped as Lukaku waited to be attended by doctors after being hit on the head by an opponent’s foot.