VAR 2-0 Joachim Andersen - this felt like Danish injustice but Kasper Hjulmand's troops must also stomach a slice of the blame.
After a significant first-half delay due to a vicious thunderstorm, Joachim Andersen looked to have flashed the Euro 2020 semi-finalists in front after a downpour in Dortmund.
Two minutes later, Thomas Delaney's big toe was ruled offside and Germany pipped themselves ahead after Andersen - of all people - conceded a penalty, gratefully dispatched by Kai Havertz, for blocking David Raum's cross with his arm.
Germany's fortune looked like the hallmark of champions on a night where Julian Nagelsmann's men also displayed their frailties before Jamal Musiala eventually put the game beyond all reach - setting up a quarter-final clash with Spain or Georgia in Stuttgart.
But who knows what might have happened if Rasmus Hojlund had found his goalscoring touch after squandering two glorious chances in either half. He has now scored just one goal in his last 12 international appearances.
Thomas Muller U-turns on playing for Germany after admitting being "emotional"Germany thought they were ahead inside four minutes when defender Nico Schlotterbeck powered a header home from a corner. However, the quick-fire goal was chalked off after Joshua Kimmich was adjudged to have blocked a Danish defender with his forearm.
Kimmich and Schlotterbeck were both out to make amends, calling Kasper Schmeichel into action. Havertz, who has recently been the subject of fierce scrutiny in his homeland, then let fly with a left-footed drive but the resilient Schmeichel stood firm.
Will Germany win Euro 2024? Have your say below.
On 35 minutes, play was halted due to adverse weather conditions as Signal Iduna Park endured another relentless soaking following previous excessive rainfall ahead of Turkey versus Georgia.
Denmark's stars were particularly quick to leave the field and for good reason as back in 2009, Jonathan Richter - a player Denmark boss Kasper Hjulmand managed at FC Nordsjaelland - lost part of his lower leg after being struck by lightning during a match.
Then came the controversy on 48 minutes. Crystal Palace central defender Andersen fired home a loose ball but automated technology ruled the goal out for a marginal offside courtesy of Delaney's big toe. And just one minute later, Germany broke the deadlock when Havertz slammed home from the spot after Andersen handled from Raum. He just could not believe his luck.
From an online poll conducted by 140,000 Germany fans - 90 per cent of those claimed they wanted to see the Arsenal man dropped for Niclas Fullkrug but Nagelsmann's faith paid dividends.
Hojlund's lack of conviction was then brutally punished by Musiala, who burst down the left flank and steered home on 70 minutes to put the game beyond all reach.
Denmark had every right to feel aggrieved but having scored just two goals at the entire tournament - they also must ask questions of themselves.
Florian Wirtz got in on the act in stoppage time but on a night of stoppages and delays - his late chip was also offside while Schmeichel's durability help maintain some pride after a late German onslaught.
Serge Gnabry learns Bayern Munich punishment after attending Paris Fashion Week