After a goalless first half on Saturday in which the defending champions dominated but failed to convert, defender Theo Hernandez linked up with the electric Mbappe, whose shot deflected off the heel of Andreas Christensen and into the back of the net to give France the lead in the 61st minute.
Denmark levelled seven minutes later when Christensen made up for the deflection by blasting a powerful header past distraught French goalkeeper Hugo Lloris.
Mbappe finished the job in the 86th minute, converting on a cross from Antoine Griezmann and propelling the ball into the back of the net with his thigh.
France sit atop Group D with six points, three ahead of Australia, which beat Tunisia 1-0 earlier in the day. The Danes and the Tunisians both have one point.
France will take on Tunisia, and Denmark will meet the Socceroos in the final group matches.