Kylian Mbappe stepped up to a penalty kick in the 28th minute with the score still level. Yassine Bounou read it perfectly. The save was a statement—but it would not define the match.
It was Mbappe’s first penalty miss for France since Euro 2020. The striker, now 27, responded with the ruthlessness that has defined his tournament. In the 60th minute, he curled a shot from inside the box into the net. France had broken through.
Six minutes later, Ousmane Dembele struck low and hard to double the lead. The two-goal cushion held. France defeated Morocco 2-0 on July 9, 2026, and advanced to the World Cup semi-finals.
The victory was clinical. Morocco managed only one shot on target, arriving late in the 84th minute. France kept another clean sheet, extending their knockout-stage record to three consecutive matches without conceding.
For Mbappe, the night reinforced his dominance in the tournament. His goal was his 20th in World Cup history. He now trails only Lionel Messi by one goal on the all-time scoring list. In this tournament alone, Mbappe is the joint top scorer with eight goals, level with Messi.
The milestones kept coming. At 27, Mbappe became the youngest player to record 20 World Cup appearances. He also equalled the all-time French record held by Hugo Lloris for World Cup matches. Late in the match, a knock to his ankle forced his substitution.
Dembele’s finish was his fifth goal of the tournament. The winger has been a constant threat alongside Mbappe in France’s attack.
This is France’s third consecutive World Cup semi-final appearance. Their next opponent will be either Belgium or Spain. Should France reach the final, they would become only the third nation to reach three consecutive World Cup finals.
Morocco’s bid to repeat their 2022 semi-final run fell short. The North African side had been aiming for a second straight World Cup semi-final appearance. Forward Ismael Saibari, sidelined by injury, did not feature.