Mbappe struck with 10 minutes remaining to win the title for world champions France after Karim Benzema had levelled just two minutes after Mikel Oyarzabal put Spain into a 64th-minute lead.
The win will ease some of the pain created by an early exit from Euro 2020 at the hands of Switzerland and highlight just how powerful France are going forward.
"I really wanted to win a trophy with France, and now it's done," said Benzema, who returned to France fold ahead of the Euro 2020.
"We showed the strength of character because this team is very strong, never gives up and we have proven it today.
"It is the sign of a great team not to panic, to be patient and to wait for the right opportunity."
Les Bleus came out on top of a match at the San Siro which came to life after Oyarzabal slid home the opener.
As well as the two goals from their superstar attackers, France had other opportunities to score through Mbappe before a frantic finish in which Spain launched an assault on the French goal.
Didier Deschamps can thank Hugo Lloris for the match didn't go into extra time after the France captain pulled off a fine stoppage-time save to deny Yeremi Pino a late leveller.
Earlier, Italy took third place after beating Belgium 2-1 in Turin through goals from Nicolo Barella and Domenico Berardi.
France started the strongest and should have been ahead with five minutes on the clock when Benzema was put through perfectly by Paul Pogba.
The Real Madrid striker tried to dribble around Spain goalkeeper Unai Simon but went too far wide and ended up aimlessly hitting a low pass across goal which was easily cut out by Cesar Azpilicueta.
Two minutes later a lightning passing move led to Aymeric Laporte, playing against the country of his birth for the first time since obtaining Spanish nationality, cutting out a low cross.
There was little more in the way of the goalmouth incident in the opening period as Spain held off France's attacking by keeping a stranglehold on possession -- 64 per cent in the first half.
A previously niggly contest suddenly got going in the 63rd minute when a sweeping French passing move started by Benjamin Pavard ended with Theo Hernandez smashing a first-time finish against the crossbar.
Just seconds later Spain took the lead through Oyarzabal, who swept home a precision left-foot finish to the delight of the Spanish fans gathered behind that goal.
However no sooner had those supporters stopped celebrating than France were level through Benzema, who curled home an outstanding strike after being fed by Mbappe.
Mbappe then had two chances in quick succession to put France head, first chipping way over with Simon off his line in the 68th minute and then hitting a tame shot at the Athletic Bilbao goalkeeper after being set up by Benzema.
The Paris Saint-Germain forward had his goal with 10 minutes remaining though, outfoxing Simon with some deft footwork before slotting home after being set free by Theo Hernandez.
Spain responded by going all out for the equaliser, but Lloris first palmed away a Oyarzabal volley in the 90th minute and then got his hand to Pino's strike to ensure the trophy went to Paris.