Wales' misery was compounded by the 90th-minute dismissal of substitute Harry Wilson for felling Maehle.
Nice striker Dolberg was only playing because Yussuf Poulsen, scorer of two goals in the competition, had missed out with a hamstring injury.
But the former Ajax player, back in familiar surroundings at the Johan Cruyff Arena, made the most of his opportunity by punishing Wales in each half with ruthless finishes.
Wales had put in the air miles at a tournament which has taken them to Baku, Rome and Amsterdam.
It appeared as if the journey had finally caught up with them as Denmark dominated for long periods and fully deserved their victory.
The build-up to the game had been dominated by the Dutch government banning Wales fans because of coronavirus restrictions.
A small band of Wales supporters did find their way into the stadium, but they were heavily outnumbered by several thousand Denmark fans who had been allowed to make the trip.
Denmark boss Kasper Hjulmand had also expressed his hope that local Dutch support would rest with his side, particularly as their stricken midfielder Christian Eriksen spent five years of his career at Ajax.
The trio were carrying yellow cards and Page chose not to risk them in Rome as another booking would have ruled them out of the Amsterdam clash.
Wales reverted to a familiar 4-2-3-1 formation, while Denmark were forced to make two changes after beating Russia 4-1 in Copenhagen to qualify for the knockout stage.
Wales started well and skipper Gareth Bale was influential in the early stages of an open contest.
Bale was twice off target from 25 yards, his first effort whistling past Kasper Schmeichel's post, as Wales enjoyed more possession than they had probably envisaged.
Denmark forced a series of corners and took a 27th-minute lead when Maehle and Mikkel Damsgaard combined superbly for Dolberg to finish with a superb curling shot.
Dolberg almost doubled Denmark's lead with a clever flick from close range but Danny Ward blocked with his legs.
Wales' problems grew as the half drew to a close as Denmark sensed the tie could be put to bed before half-time.
Connor Roberts was forced off through injury and replaced by Neco Williams, while Moore was harshly booked to pick up a one-match suspension.
Ward made another fine stop from Maehle right on half-time but Denmark doubled their lead three minutes after the break, much to Wales' grievance.
Wales wanted a free-kick after Simon Kjaer appeared to barge into Moore, but play was allowed to continue by German referee Daniel Siebert.
Braithwaite beat Joe Rodon with a neat turn of pace and substitute Williams made a hash of the cross.
The ball fell to Dolberg who lashed home his second and the goal stood after a VAR check adjudged that Braithwaite had kept the ball in play at the start of his run.
Mathias Jensen and Braithwaite both hit the post as Denmark were inches away from ramming home their superiority further.
But Wales were simply out of ideas and Denmark punished them again in the closing stages.
Maehle smashed home a left-footed shot from close range moments before Wilson became the second Wales player to be sent off at Euro 2020.
Braithwaite's stoppage-time effort then stood after a lengthy VAR check for offside, as Denmark eased into a quarter-final tie against either Holland or the Czech Republic.