The Danes are into the last four of a major tournament for the first time since winning Euro 1992 after first-half goals from Thomas Delaney and Kasper Dolberg in Baku.
England were set to take on Ukraine in Rome later on Saturday in the last quarter-final, with the winners to face Denmark at Wembley on Wednesday.
Kasper Hjulmand's Denmark have bounced back in impressive fashion from a nightmare start to the tournament, which saw star player Christian Eriksen suffer a cardiac arrest and have to be revived on the pitch during their opening loss to Finland.
A defeat by Belgium followed, but they have now scored 10 goals in three straight wins to keep their bid for a second European Championship title on track.
Denmark made a dream start as Delaney headed home Jens Stryger Larsen's corner, which probably should not have been given, in the fifth minute.
The Scandinavians doubled their advantage three minutes before half-time as Dolberg scored his third goal in two knockout games by volleying in Joakim Maehle's magnificent cross.
The Czechs introduced Jakub Jankto and Michael Krmencik at half-time and flew out of the blocks after the restart, with Kasper Schmeichel having to save from Krmencik and Antonin Barak.
They pulled one back in the 49th minute, as Patrik Schick tucked Vladimir Coufal's cross into the bottom corner to grab his fifth goal of the tournament and move alongside Cristiano Ronaldo at the top of the scoring charts.
But Schick was substituted after suffering a muscle strain with 11 minutes remaining and Denmark held on.