Thomas Delaney and Kasper Dolberg were on target for the Reds and Whites in the first-half before Patrik Schick pulled one back for the Czechs.
It took only five minutes for Kasper Hjulmand's side to go in front as Delaney headed home a corner from Vladimir Coufal. Dolberg doubled their advantage just three minutes before half-time, latching onto a brilliant trivela cross from Joakim Maehle.
The game seemed to be over already, but Schick's fifth goal of the tournament gave Locomotives some hope of a comeback, but they couldn't build on his strike and Denmark ran out 2-1 victors.
One historic campaign draws to a close but another continues as Denmark face either England or Ukraine in the last-four on Wednesday.
Here are the hits and flops from the game.
Hit: Vladimir Coufal (Czech Republic)
Patrik Schick may have stolen all the headlines but Vladimir Coufal has been the secret sauce behind the Czech Republic's success. His attacking brilliance has allowed the likes of Schick to shine on and was in top form again today.
He constantly asked questions about Denmark's backline with typically excellent crosses, especially in the first-half. Following several close misses, one of his deliveries found Schick soon after the restart for his second assist of the European campaign.
This, however, didn't come at the cost of his defensive duties, as Coufal was sound at the back too. He made three interceptions and two clearances, including the goal-line clearance to deny Denmark's Damsgaard early on.
Flop: Czech Republic's defense
Both goals the Czech Republic conceded today were a result of some defensive shortcomings and they must be kicking themselves for not doing enough.
When the corner was being played in, Delaney was completely unmarked inside the box. That gave him a free run to latch on to Coufal's cross and send it goalwards which Czech goalkeeper Tomas Vaclik failed to keep out.
But Maehle made the most of the acres of space down his flank for their second, darting up a few yards on the break before laying an exquisite cross for Dolberg to volley home from close range. Once again, there was no Czech player in sight to track Maehle's runs, allowing him to go all the way completely unchallenged.
Hit: Thomas Delaney (Denmark)
It was a brilliant all-round performance from Thomas Delaney. He broke the deadlock for Denmark in the fifth minute by heading down a cross from Stryger Larson's corner. Delaney also acted as their battering ram, constantly breaking down Czech Republic's attacking plays.
He made three interceptions and read the game brilliantly to make three more clearances. The Borussia Dortmund midfielder went from being more adventurous during the early exchanges to frustrating the Czechs with his defensive game. He was instrumental in demonstrating his strengths aerially too, winning seven of nine attempted duels.
Flop: Petr Sevcik (Czech Republic)
It may sound too harsh on him but Petr Sevcik was really disappointing in the second-half, having made a bright start to the match.
He displayed an infectious attacking spirit early on, sending in crosses for Schick and delivering a good free-kick. But Sevcik lost momentum as the match wore on. In fact, he was barely seen in the second-half.
The Slavia Prague star was too passive in possession on many occasions and lost the ball 14 times too. His drop in performance meant the Czechs were forced to find other avenues to service their striker.
Hit: Kasper Dolberg (Denmark)
Last but not the very least, Kasper Dolberg. He's been quietly having an impressive campaign at the Euros and today scored his third strike of the competition.
Maehle's cross fell perfectly into his path and the Nice star thumped home nonchalantly from close-range to double Denmark's cushion.
It also made him the joint top-scorer for Denmark in Euro history and the first Danish player to net thrice in the same tournament since Jon Dahl Tomasson in 2004. Not a bad record.