Holders France stayed on course to become the first team in 60 years to successfully defend the trophy thanks to goals from Theo Hernandez and Randal Kolo Muani at Al Bayt Stadium.
Morocco, the first African side ever to reach a World Cup semi-final, battled as they have done throughout the tournament and were roared on by a crowd predominantly decked out in red and green.
But Azzedine Ounahi’s shot in the final minutes that was cleared off the goalline by Jules Kounde was arguably their best chance.
France reached the final for the fourth time in seven editions and if they triumph at Lusail Stadium on Sunday they will be the first team since Brazil in 1962 to retain the trophy.
They were congratulated in the dressing room by French President Emmanuel Macron, who had flown to Qatar yesterday to watch the match.
Delighted France coach Didier Deschamps said: “There is emotion and pride.
“Obviously it was another important step today and now there will be another one.
“We’ve been together for a month. It’s never easy, but here it is - it’s been a joy so far and my players have been rewarded.”
The final will inevitably be billed as a battle between Messi and his Paris Saint-Germain teammate Mbappe.
Despite not scoring himself, Mbappe had a hand in both French goals yesterday and created the second with a dribble and shot that was deflected into the path of unmarked substitute Kolo Muani to net with ease.
Argentina though will look at moments of French defensive fragility that Messi and Julian Alvarez - scorer of two goals in Tuesday’s semi-final win against Croatia - will relish exploiting.
Morocco coach Walid Regragui’s plans for the biggest match in his nation’s history were rocked by injuries.
He was hoping to welcome back centre-back Nayef Aguerd, but he withdrew at the last minute, then captain Romain Saiss had to leave the field after just 21 minutes. By then Morocco were trailing.
Defying the whistles that greeted every French possession, Hernandez scored with an acrobatic volley at the back post after Mbappe’s shot was deflected.
It was just the second goal Morocco had conceded at this World Cup.
For a moment it looked as if the floodgates might open, but the Atlas Lions dug in and nearly drew level when Jawad El Yamiq’s overhead kick was tipped onto the post by Lloris.
But the second half went France’s way and when Kolo Muani came on for Ousmane Dembele he scored with his first touch.
“I just can’t get my head round it, it’s crazy, we’re dreaming,” said 24-year-old Kolo Muani. “The final isn’t just to be played, it’s to be won.”
Messi, playing in his fifth World Cup, has been a man on a mission in Qatar, desperate to crown his career by leading Argentina to their first World Cup crown since Diego Maradona inspired the South Americans to the title n 1986.
On Tuesday, Messi produced flashes of genius to help Argentina to a convincing 3-0 victory over Croatia in the semi-finals.
Messi, 35, later confirmed that he expects Sunday’s final to be his last appearance at a World Cup.
“Being able to achieve this, being able to finish my journey in the World Cups by playing my last game in a final, is something very exciting,” the Argentine captain said.