Belgium's Thorgan Hazard thundered in a first-half winner as they beat title holders Portugal 1-0 in their Euro 2020 last-16 game on Monday (NZ time) to move into the last eight.
Hazard found enough space after a swift passing move to rifle home from 20 metres and score against the run of play in the 42nd minute, setting up a quarter-final clash with Italy, who are unbeaten in their last 31 matches.
Yet Belgium's Kevin De Bruyne, only recently back from a facial injury, could be a doubt, hobbling off three minutes into the second half after suffering an ankle injury shortly before the break.
Diogo Jota had two good chances for the 2016 European champions -- one in each half -- and Raphael Guerreiro hit the post in the 83rd minute but they could not find an equaliser despite an improved display in the second half.
Belgium will face Italy, who beat Austria 2-1, in Munich on Saturday.
Earlier, striker Patrik Schick scored his fourth goal of the tournament as the Czech Republic stunned 10-man Netherlands with a deserved 2-0 victory in their European Championship last-16 clash in front of 56,000 fans at the Puskas Arena.
The Czechs created the better chances against their more fancied opponents in the frenzied atmosphere and booked a quarter-final meeting with Denmark in Baku when Tomas Holes headed in at the back post in the 68th minute after Tomas Kalas had steered the ball into his path.
Holes then turned provider as he set up Schick for a second, the striker slotting the ball coolly past veteran Dutch goalkeeper Maarten Stekelenburg to continue his dream tournament.
The Dutch challenge was dealt a blow on 55 minutes when centre back Matthijs De Ligt received a red card for a handball just outside his own box. He was initially given a yellow card, but referee Sergei Karasev changed his mind after a Video Assistant Referee check.