In the end, it was a triumph of France’s savoir-faire, their ability to manage this type of occasion, to get the job done – even when below their best.
Théo Hernandez scored early and Didier Deschamps could reflect on a fine defensive performance, particularly from Ibrahima Konaté, which would yield a first clean sheet of this World Cup for his team.
When Kylian Mbappé crackled to life inside the area late on, showing his twinkle toes and seeing a low shot deflect, there was the substitute Randal Kolo Muani to tap home. Antoine Griezmann was again excellent in midfield, a case study in composure amid the tumult, all easy balance and technique, his appreciation of everything around him a joy, and France remain on course to defend their title. The final against Argentina on Sunday promises to be a classic.
And yet the broad brushstrokes did not take in how Morocco made France sweat, how they played with their chests out and not a hint of any inferiority complex. The African team – the first from the continent to reach a World Cup semi-final – had long since left that behind on their epic run past Belgium at the group phase, Spain and Portugal in the knockout rounds.
Walid Regragui’s Atlas Lions made a mockery of snooty European claims that they were overly defensive by getting on the front foot, breaking lines and creating chances. It was an occasion to thrill the fans who had turned this stadium into a sea of red, and the many millions back home. When Regragui’s players crumpled to the turf when it was over, they did so having left everything out there.
The 200-1 shots at the beginning of the tournament had only ever won two previous matches at this level. They had created miracles; Leicester City on an adrenaline overload or, as Regragui put it, Rocky Balboa. This would be a step too far although, as France celebrated, there was a lump‑in‑the‑throat moment – a prolonged and stirring ovation for Morocco from all sides of the arena.
It was a night when the atmosphere pulsed, the sense of history and, yes, possibility hard to ignore. It was a further return on the passion for and massive investment in the Moroccan game from King Mohammed VI and the national federation. Everybody who travelled was determined to live it to the full.
What Morocco did not factor in was the concession of the early goal. Regragui had set up in a back five for the first time and it was breached when Raphaël Varane played a cute pass up the inside right for Griezmann, which Jawad
Griezmann crossed low and Mbappé had two efforts blocked. After the second, the ball sat up at the far post for Hernandez and his side-on finish was a beauty. It was only the second goal that Morocco had conceded here – after the freak own goal against Canada – and the first time they had been behind.
Regragui had lost Nayef Aguerd before kick-off, having initially named him in the starting XI, and a second centre-half, Romain Saïss, who had been a selection doubt, did not last beyond the 21st minute. He limped off moments after misjudging a high ball and allowing Olivier Giroud in.
Giroud lashed against the outside of the post. Noussair Mazraoui, who also carried an injury, would not reappear for the second half.
It was possible to wonder whether the physical strain had caught up with Morocco and yet they poured even more energy into the game. Regragui rearranged to 4-1-4-1 without Saïss but, in both systems, Morocco held a high line and pushed forward. France were happy to sit in, hunt for turnovers and transition quickly.
Morocco carried the physical fight, they hogged 61% of possession and they advertised the equaliser. Especially when El Yamiq launched into an overhead kick in first-half stoppage time after Giroud had half-cleared a corner, sending the ball towards the bottom left corner. Hugo Lloris got across to tip it on to the post.
Earlier the goalkeeper had sprung the other way to push away an Azzedine Ounahi curler while Morocco wanted a penalty when Hernandez banged shins with Sofiane Boufal.
France ought to have been 2-0 up on 36 minutes. Aurélien Tchouaméni found Mbappé who could not finish, El Yamiq clearing, but only as far as Tchouaméni, who sent a quick pass back in for Giroud, who was unmarked by the penalty spot. He sent a first-time shot past the post – a bad miss.
Morocco did not want for adventure, particularly Achraf Hakimi, who was in marauding form up the right, linking to good effect with Hakim Ziyech. Sofyan Amrabat excelled in front of the defence.
Morocco continued to force the issue at a startling tempo after half-time, some of their interchanges in the final third easy on the eye. The substitute, Yahya Attiat-Allah, could not connect with a shooting chance when well placed. He also ghosted in behind Jules Koundé, his cross hacked clear by Konaté, while he nearly picked out the substitute Zakaria Aboukhlal.
The France replacement Marcus Thuram missed a clear header and then came the opening when Morocco felt their hearts quicken, another substitute, Abderrazak Hamdallah, waltzing through after Tchouaméni had been dispossessed. Hamdallah could not work the space he wanted and it slipped away.
Over to Mbappé to kill the dream. It was Kolo Muani who drove the move following a loose Morocco pass but Mbappé who ignited it, his quick feet a blur, the shot flicking off the substitute Abdessamad Ezzalzouli, to break kindly.
When Hamdallah had a last-gasp effort cleared off the line by Koundé, Morocco were denied the consolation they deserved.