France has beaten Morocco 2-nil in their Qatar World Cup semi-final to advance to a star-studded final against Argentina.
France defender Theo Hernandez opened the scoring five minutes in, after a frantic scramble in the Morocco box.
Kylian Mbappe received the ball and sent a deflected shot bouncing up to the back post where the onrushing Hernandez reacted to get a leg up high and volley home past Bono in goal.
Despite the early goal, the stands in Doha's Al Bayt stadium were alive with tension in the opening half, as tens of thousands of Moroccan fans whistled and cheered in an attempt to push their team to victory.
Morocco came close to equalising from a sensational bicycle kick as the ball fell to defender Jawad El Yamiq following a corner. The Moroccan sensed his chance and leaped to hit a near perfect overhead bicycle kick which clattered off the left hand post.
The French went into half-time with a one goal advantage after resisting numerous attacks as the Atlas Lions finished the first-half with a fiery display.
Morocco's defenders made life difficult for France in the second half, throwing themselves into challenges and using their physicality to tire the French attackers.
Mbappe was targeted in particular, finding himself on the end of several heavy tackles and even having his shoelaces ripped by a boot to the ankle.
As Morocco looked to turn the game on its head, manager Walid Regragui made the surprising choice to replace key attacking talents Sofiane Boufal and Youssef En-Nesyri.
What followed was a lack of clinical finishing, with replacement striker Abderrazak Hamdallah squandering a glorious chance as he hesitated to shoot when advancing into the box.
France put the game to bed late on through the second fastest goal by a substitute in World Cup history.
Kylian Mbappe picked up the ball at the top of Morocco's box and mazed through a several challenges before hitting a shot goalward. His shot deflected off a Moroccan defender and bobbled to the back post where Randal Kolo Muani was quick to knock it into the back of the net.
Just 43 seconds after being substituted on, the young striker's goal sealed the game for France in the 79th minute.
Morocco's fairy tale World Cup run was brought to an end as they failed to make a late comeback, despite a late flurry of chances.
France are now set to meet Argentina in Monday morning's FIFA World Cup final at 4am.
Meanwhile, Morocco will face off against Croatia in a third and forth playoff match on Sunday at 4am.
Follow all the action as it happened: