Wales suffered a 0-1 defeat to Denmark in the Nations League, with a Danny Ward error proving costly. Portugal, without Cristiano Ronaldo, secured a 2-1 win over Norway, who saw Erling Haaland limp off.
Wales 0-1 Denmark
Rasmus Højlund scored from the penalty spot in the 75th minute after Ward brought down Gustav Isaksen. Ward had earlier made two stunning saves to keep Wales level but his mistake proved decisive. Boos rang out around Cardiff as the final whistle sounded.
Wales captain Ben Davies said: "I didn't feel like there was a whole lot in the game to be honest. A tough way to concede. We'd have loved to have had more (than their three points from four matches) but we're playing quality opposition. I'm very proud of the group. We can't fault the effort that's in this group."
Ethan Ampadu, Wales' best player on the night, added: "To be honest, we were sat in half time thinking that if we brought the energy levels up we could take all three points. So disappointed with that. We wanted to show who we really are and we did that. At times we were sloppy and gave the ball away. In November we've got two more games. Six points to play for, that's our aim. The level that group A comes with, we wanted to show that we belong here."
Portugal 2-1 Norway
Goncalo Ramos scored in the 80th minute, finishing off Joao Felix's assist, to give Portugal the lead. Kristoffer Ajer had put Norway ahead in the 36th minute, but Joao Cancelo equalised two minutes later. Francisco Conceição was shown a second yellow card, leaving Portugal to hold on with 10 men.
Haaland asked to be subbed off around the 67th minute, with no confirmation of an injury. Portugal became the first team to book their place in the quarterfinals, having already won the competition twice before.
Other results
Netherlands beat Serbia 2-1, with goals from Teun Koopmeiners and Zirkzee, while Mihajlo Cvetković scored for Serbia. Republic of Ireland drew 1-1 with Israel, with Troy Parrott scoring a penalty and Dor Peretz equalising. Greece and Germany played out a goalless draw, with a Jonathan Burkardt goal ruled out by VAR.