The Danes scored twice in the first period and goaltender Sebastian Dahm stopped 39 of 40 Czech shots.
"The win means everything to us", Mikkel Aagard said. "The boys have been working so hard towards this and just looking forward to today, and it's unbelievable to get the win tonight.
"We trust in Sebastian. He's an unbelievable goalie and a great teammate and it's great to see him have success. He was a big part of our win tonight."
"We're disappointed", said Czech Republic captain Roman Cervenka. "We have to improve our game, for sure. Their goalie played well, but this is the Olympics. You have to expect that goalies are going to play well.
"We made it easy for him. We need to make it more difficult. We have to go more in front of the net and we have to be more erffective on the power play."
Story of the game
The Czechs dominated the first ten minutes of the game, spending most of that time in the Denmark end. They were unlucky not to have opened the scoring when Lucas Sedlak came out of the corner with the puck and his quick shot hit the post on the ice side.
After the TV timeout, the Danes opened the scoring just after the midway point. David Sklenicka bobbled the puck just inside his blue line, and Denmark got control. Markus Lauridsen took a harmless shot that hit the stick of Czech forward Vladimir Sorotka and fooled goaltender Simon Hrubec.
"It's surreal", Lauridsen said of his historic goal. "I can't really believe it. It's obviously an historic goal for us, but i'm more proud of the win than the goal. It's just a huge accomplishment for Danish hockey."
Denmark were awarded a penalty shot when Patrick Russell was hauled down on a partial breakaway during a Czech Republic power play. Frans Nielsen to take the shot and froze Hrubec, beating him up high with a backhand on a deke with 2:27 left in the period.
The Czechs cut the lead in half 3:45 into the second period when Roman Cervenka was allowed to skate into the slot and rifle a shot over the blocking arm of Dahm, cutting the Danish lead in half.
Denmark played conservavtively and didn't do much on either end, neither gambled to create offence nor made any other errors in their own end.
In the third, Cervenka had a great chance to tie the game, but Dahm got his glove on the shot. At the other end, Mikkel Bodker came out from the corner but ripped a shot high over the net.
Midway through the period, Nicholas Jensen took an unnecessary hooking penalty. The Czechs moved the puck around well but got only one good chance, a quick shot by Matej Stransky that Dahm saved with his pad.
Denmark had a two-on-one ending with Nielsen shooting five-hole on Hrubec, but he got his pads on it to save. Soon after, Bodker turned a broken play into another great scoring chance, but Hrubec kicked a shot out with a fine right-pad stop.
With Hrubec on the bench for the extra attacker, the Czechs had one final opportunity, Tomas Kundratek whipping one a shot off the post with 18 seconds left, but the Danes got to the rebound and killed the remainder of the game.