Austria's defeat against Croatia meant that France escaped relegation into League B. Disappointingly for tonight's victors, that result also means that Denmark finish one point behind Croatia - the Group A winners.
An early period of French control was eventually negotiated by the hosts. Just before the break, Kasper Dolberg and Andreas Skov Olsen sent Denmark into a 2-0 lead, prior to half-time.
All evening, France were hugely troubled by Christian Eriksen's corner deliveries. It turned out to be a surprise that they got away with only conceding from one of the 13 corners, which they conceded.
A decent spell in the initial stages of the second half did not bring any reward for the French team. In the end, the action came to a close at Parken, with Denmark comfortably seeing out an impressive win.
Story of the match
A few enforced changes were expected from France. However, Didier Deschamps opted to also add a few more new faces into his starting eleven. Alphonse Areola, Dayot Upamecano, William Saliba, Benjamin Pavard and Eduardo Camavinga were all brought in.
The visitors looked the more dangerous team, in the early stages of the game. They had a few attempts at goal within the first ten minutes, as they looked determined to guarantee their survival in League A.
France continued their pressure, with a neat bit of playing involving Kylian Mbappe and Antoine Griezmann - leading to the latter having a right-footed snap-shot from just inside of the box. The low effort had to be well stopped by Kasper Schmeichel.
A couple of minutes later, a whipped effort from Camavinga sailed narrowly over the bar, followed almost immediately by another effort from the midfielder, which was deflected narrowly wide.
Joakim Maehle was inches away from slicing the ball into the back of his own net, just before the 20 minute mark, reflecting the Danes' nervous opening spell.
Hosts turn the tables
Denmark went about rectifying their slow start to the evening, through a brilliant Eriksen long pass which picked out Skov Olsen. The winger's sublime first touch was followed by an effort at goal, which forced Alphonse Areola into action. A couple of corners then led to free headers at goal, as the hosts seemed to be coming alive.
The visitors' danger disappeared, as the first-half went on and the Danes began to look a lot more assured and capable of picking up a much-needed win.
They took a major step towards doing just that, in the 34th minute. Eriksen, again, played a lovely long pass from midfield. He picked out Damsgaard on the left side, who found the space to put in a perfect low cross into the box for Dolberg to attack. The forward was just able to get a sufficient connection with Damsgaard's cross, with his sliding effort, as he reached out to the ball ahead of him.
After the opener, France showed no signs of a resurgence. They continued to be unable to deal with Denmark's corner routines, as a third consecutive free header from Thomas Delaney was a warning sign of things to come.
Just five minutes after Dolberg's goal, yet another corner awfully dealt with by the visitors led to Skov Olsen doubling the Danes' lead. Eriksen's delivery picked out Joachim Andersen completely unmarked at the back post. His nod back into the middle was redirected backwards by Delaney - who set up Skov Olsen to produce a well-struck volley, with just another direction behind it to beat Areola.
The last few minutes of the half were played out with Denmark in the ascendancy. They took a well-deserved 2-0 lead into the break, underlining a fantastic second part of the first-half. Deschamps showed his dissatisfaction with the first 45 minutes, through the introductions of Youssouf Fofana and Jonathan Clauss at half-time.
A low free-kick from Griezmann tested Schmeichel in the early stages of the second period, as France, expectedly, looked to pick up the level of their performance.
A few very wayward efforts from Mbappe summed up the star man's frustrations.
There was a lack of real chances from France, as the hosts dealt well with their attacking potential. Badiashile's header from a corner, just after the hour mark, was a half-chance. Christopher Nkunku and Adrien Truffert - making his debut, were introduced shortly after.
Mbappe came alive, just before the halfway mark of the second half. He showed off his pace, to get in behind the Danish backline and find himself through on goal, for a meeting with Schmeichel. His first-time strike, following a great through ball from midfield, was very well stopped by the keeper. Just a minute after, a well-struck effort from Mbappe was diverted for a corner.
For the third time in the space of just a few minutes, there was another good opportunity for the PSG man. He got good contact behind an effort from just inside of the box, but the powerful strike picked out Schmeichel.
Events in Vienna lead to quiet ending
Important news came out of Austria, as the Danes seemed to be getting close to sealing top spot in the group. Goals from Marko Livaja and Dejan Lovren changed the scoreline from 1-1 to 3-1 in the Croats favour, in the space of just a few minutes.
As such, the Danes' hopes of first place were virtually ended. At the same time, France could breath a sigh of relief, as an Austrian win would have sent them down into League B.
With the table order seemed to have been sown up, Eriksen continued to create more issues for France from corners. His precise pick out of Rasmus Hojlund had the forward succeed in producing a feint flick-on onto fellow substitute, Braithwaite - who was unable to adjust his body in time to produce a finish into the exposed goal.
A quiet last few minutes followed, with all four teams in Group A well aware of their fate. It was a fairly anti-climactic conclusion, to what could have been dramatic evenings in both Copenhagen and Vienna.
Player of the match - Christian Eriksen
Numerous perfect deliveries from the corner spot and pinpoint long passes from play underlined another brilliant performance from Eriksen.
A total of eight key passes (out of his team's 12) completed by the midfielder - who was a class apart from anyone in his area of the pitch, on the night.
Schmeichel also had to make a total of seven saves, in the Denmark goal. However, without any of those being particularly outstanding, Eriksen clinches the player of the match award.