Morocco were surprise winners of Group E after defeating Canada 2-1 in their group-stage finale, qualifying the Atlas Lions for the knockout stages for the first time since 1986.

Hakim Ziyech opened the scoring from midway inside the Reds half in the fourth minute after goalkeeper Milan Borjan inexplicably played the ball right into his path.

The lead was doubled on 23 minutes as Youssef En-Nesyri got behind the defense to finish from a scintillating pass from Achraf Hakimi.

Canada pulled one back before half-time with Sam Adekugbe's dangerous cross hitting Nayef Aguerd and wrong-footing goalkeeper Yassine Bounou.

Here are the player ratings for both sides.

Canada

Milan Borjan - 2

Made a horrific error for Morocco's first and beaten at his near post for the second.

Alistair Johnston - 6

Not at fault for either goal and was solid at both ends of the field.

Steven Vitoria - 3

Could have helped Borjan on the first goal and was badly exposed for the second.

Kamal Miller - 5

Was not in good shape for En-Nesyri's goal, but recovered to have a very fine second half.

Sam Adekugbe - 7

Took it to the Morocco defense, which resulted in the own goal following a terrific cross. Looked to be an outlet.

Jonathan Osorio - 4

Look a couple of steps slow. Just not his evening.

Mark-Anthony Kaye - 4

Looked a bit bewildered and was always coming up short on loose balls.

Tajon Buchanan - 5

Had a really good chance in the 15th minute that he failed to convert and failed to test the Morocco defense after that.

Alphonso Davies - 6

Looked to create and played very confidently, but tried to take on too much. Could have used better service.

Cyle Larin - 5

Put in one dangerous cross, but completed just five passes and looked a spectator otherwise.

Junior Hoilett - 8

Canada's best player by miles. Took the game to the Atlas Lions every chance he got and used his experience to draw fouls.

Substitutes

Atiba Hutchinson - 8

In his last appearance for the Reds, he provided composure and calmness to the midfield and came close to scoring, nearly writing the perfect ending to a wonderful international career.

Jonathan David - 5

No rhythm at all.

Ismael Kone - 8

Composed, quick and progressive with the ball. The player to build around ahead of the 2026 World Cup.

Richie Laryea - 6

Plenty of aggression, but nothing that made a real difference.

David Wotherspoon - N/A

Didn't really get going.

Morocco

Yassine Bounou - 6

The goal wasn't really his fault as it was deflected in off a defender. Wasn't very busy beyond that.

Noussair Mazraoui - 6

Did his job defensively, but was never in the flow when Morocco had the ball as most of the play was down the right.

Romain Saiss - 7

Was composed and calm with and without ball and provided a steady presence through the entire back-line.

Nayef Aguerd - 6

Unlucky to have put the ball in his own net, but did his job otherwise.

Achraf Hakimi - 8

Made a brilliant pass behind the Canada defense for En-Nesyri's goal and provided a major threat going forward for the entire match.

Abdelhamid Sabiri - 6

Did well for the 65 minutes he was on the pitch.

Sofyan Amrabat - 8

Has been impressive throughout the tournament with his fine passing and tireless defensive work.

Azzedine Ounahi - 7

Kept the attack moving with some good movement, quick passing and driving runs.

Sofiane Boufal - 8

Creativity and sharpness. Put the Canada defense on its heels by consistently drawing fouls in dangerous areas.

Youssef En-Nesyri - 9

Scored the goal that turned out to win the group for the Atlas Lions and had a second ruled out for offsides. Took advantage of a weak Canada defense by using his strength and quickness.

Hakim Ziyech - 8

Took full advantage of Borjan's miscue to score the opener and always looked like doing something brilliant at any stage of the contest.

Substitutes

Zakaria Aboukhlal - 3

Barely had any involvement.

Selim Amallah - 6

Hardly saw the ball, but kept Canada contained.

Abderrazak Hamdallah - 5

Struggled to hold the ball up.

Jawad El Yamiq - 5

Didn't really do anything to change matters.

Yahya Jabrane - N/A

Not enough time to judge him one way or the other.