Hakim Ziyech scored a stunning goal as Morocco defeated Canada to reach the knockout stages of the World Cup.

The Chelsea forward capitalised on a mistake from Canada goalkeeper Milan Borjan and punished the Red Star Belgrade stopper with devastating effect to open the scoring after just four minutes.

Borjan’s hashed clearance fell to the feet of Ziyech around 30 yards from goal and the wideman superbly lobbed the ball back over the goalkeeper’s head and into the unguarded net.

Ziyech was pulling the strings on the right for Morocco and he was soon celebrating a second Morocco goal, as Youssef En-Nesyri doubled the lead with an emphatic finish.

A ball over the top from Achraf Hakimi was met by the Sevilla striker, who took a touch before drilling the ball beyond Borjan and into the corner.

It was just reward for the striker, who also saw an effort ruled out by VAR.

Despite the dominance, Canada found a way back into the game just before half-time as Nayef Aguerd turned Sam Adekugbe’s low cross into his net to make it 2-1.

Morocco knew that avoiding defeat in Qatar would see them safely through to the knockout stage and in the second period, they showed that in their performance. Slowing the game down and looking to frustrate their Canadian opponents.

But there were plenty of warning signs, with the veteran Atiba Hutchinson going so close to turning the tie around with a header that came crashing back off the crossbar.

Ziyech was replaced with around 15 minutes remaining, possibly with one eye on the knockout stage, but the Chelsea man was an animated spectator from the bench as Morocco looked to preserve their lead.

The Moroccans did just that and qualify as Group F winners, no mean feat when you consider Belgium and Croatia were paired with them. They now await the result of tonight's Group E games to see who they will face on Tuesday afternoon.

Ziyech and Morocco were joined in the knockouts by Mateo Kovacic and Croatia, who qualify as Group F runners-up.