France set up a World Cup final against Argentina after goals from Theo Hernandez and Randal Kolo Muani secured a 2-0 win over Morocco on Wednesday.
Didier Deschamps’ side became the first defending champions since Brazil in 1998 to return to the final at the next edition with another efficient performance at Al Bayt Stadium.
Hernandez struck as France raced into a fifth-minute lead against Africa’s first World Cup semi-finalists, although Morocco were in the ascendancy for large parts.
That pressure brought no reward, and substitute Kolo Muani’s 79th-minute second ensured France’s bid to become just the third side to retain their global crown continued into Sunday’s final against Argentina.
Hernandez fired France into an early lead after Kylian Mbappe twice saw efforts blocked, the second deflection falling to the left-back to expertly finish at the back post.
Olivier Giroud smashed a left-footed strike against Yassine Bounou’s right post before whipping wide from a glorious opportunity after Jawad El Yamiq denied Mbappe with a last-ditch clearance.
El Yamiq almost levelled with a sensational overhead kick from Hakim Ziyech’s corner on the stroke of half-time, only to be denied by a stretching Hugo Lloris and his right post.
Raphael Varane produced a vital intervention to thwart Youssef En-Nesyri after the interval as Deschamps’ men were pinned back, before France sealed victory with 11 minutes remaining.
A deflected Mbappe strike rolled into the path for Kolo Muani, just off the bench, to tap in at the far post as Morocco’s fairytale run came to an end.
France player ratings (4-2-3-1)

GK: Hugo Lloris – 8/10 – Had to make a number of saves, including several very good ones, which laid the foundations for this win.
RB: Jules Kounde – 7/10 – Not much of an attacking threat from full-back but defended as and when he needed to. Cleared one off the line in stoppage time.
CB: Raphael Varane – 6/10 – Passed out from the back well.
CB: Ibrahima Konate – 7/10 – Stepped in to replace Dayot Upamecano and was impressive in the way he repeatedly intercepted and cleared the ball.
LB: Theo Hernandez – 7/10 – His goal was a feat of impressive improvisation to get his foot over the ball and turn it from the height it was.
CM: Aurelien Tchouameni – 7/10 – Passed accurately for the most part and gave a disciplined performance in the middle of the pitch.
CM: Youssouf Fofana – 7/10 – Thrashed at a decent chance to make it 2-0 and comfortable before it actually was. Missed the target with another good position but carried the ball forward well in the build up to the second French goal.
RM: Ousmane Dembele – 6/10 – Pretty quiet given the decent tournament he’s had.
AM: Antoine Griezmann – 9/10 – Pulled creative strings from the ‘number 10’ role, including the chance that gave France their early goal. DIdn’t neglect defensive discipline either.
LM: Kylian Mbappe – 8/10 – His pace obviously made him a threat. Looked like he would beat the whole Morocco defence in the move that gave France their killer second.
ST: Olivier Giroud – 7/10 – Hit the outside of the post and also missed the target from a great positon in the first half alone.
Substitutes
SUB: Marcus Thuram (65′ for Giroud) – 6/10
SUB: Randal Kolo Muani (78′ for Dembele) – 7/10
Manager
Didier Deschamps – 8/10 – Forced into changes in defence and midfield from the quarter-final win over England. His team’s discipline and clinical nature has got them to another World Cup final.
Morocco player ratings (5-4-1)
GK: Bono – 5/10 – Could do previous little about either goal.
RB: Achraf Hakimi – 7/10 – Started to link up really well with Ziyech as Morocco built some momentum either side of half-time.
CB: Achraf Dari – 7/10 – Drafted in as a last minute replacement for Nayef Aguerd.
CB: Romain Saiss (c) – N/A – Appeared to be struggling before the game started and lasted only 21 minutes.
CB: Jawad El Yamiq – 7/10 – Rollercoaster night. Guilty of the mistake that gave France their opportunity to break the deadlock only a few minutes in. Later made other vital blocks and tackles, and even hit the post with a spectacular bicycle kick.
LB: Noussair Mazraoui – 5/10 – Another who was a doubt coming into this one and not himself. Didn’t reappear for the second half after a fairly reserved first 45 minutes.
RM: Hakim Ziyech – 7/10 – Didn’t exploit the space on the right enough in the first half but became more involved as the game progressed.
CM: Sofyan Amrabat – 7/10 – Patrolled the midfield exactly as he has done all tournament.
CM: Azzedine Ounahi – 8/10 – Forced a good save out of Lloris not long after France had scored first and was always trying to make things happen for his team.
LM: Sofiane Boufal – 7/10 – Looked a good outlet but was withdrawn surprisingly early. The fact he was carrying a yellow card might have been a factor.
ST: Youssef En-Nesyri – 5/10 – Saw precious little of the ball in a thank-less performance, with Morocco preferring to primarily attack down the flanks.
Substitutes
SUB: Selim Amallah (21′ for Saiss) – 7/10
SUB: Yahia Attiyat Allah (46′ for Mazraoui) – 7/10
SUB: Abderrazzak Hamdallah (66′ for En-Nesyri) – 7/10
SUB: Zakaria Aboukhlal (66′ for Boufal) – 6/10
SUB: Abde Ezzalzouli (78′ for Amallah) – 6/10
Manager
Walid Regragui – 8/10 – Changed the system to begin with, while it was the emotional decision to try and start with both Nayef Aguerd, withdrawn right before kick-off, and Romain Saiss. Morocco were better after reverting to their usual shape and the subs did make a positive impact. What might have been on another day…