L'Espagne, qui a ouvert le score par Saul Niguez dès la 10e minute, a ensuite pu compter sur un triplé de Marco Asensio, et un but de Gerard Deulofeu, pour terminer en roue libre.
Dans un match très heurté (7 cartons jaunes), le Portugal a fait la décision grâce à des buts signés Gonçalo Guedes (37e) et Bruno Fernandes (88e).
Vendredi, la Suède, tenante du titre, avait été tenue en échec par l'Angleterre 0 à 0 alors que la Pologne avait été battue par la Slovaquie 2 à 1.
Vendredi:
Suède - Angleterre 0 - 0
Pologne - Slovaquie 1 - 2
Samedi:
Portugal - Serbie 2 - 0
Espagne - Macédoine 5 - 0
Dimanche:
(18h00, 16h00 GMT) Allemagne - République Tchèque
(20h45) Danemark - Italie