Yussuf Poulsen ruined Peru's first appearance at a World Cup finals for 36 years on Saturday with the winning goal for Denmark to seal a 1-0 victory in Saransk.
Poulsen made amends for conceding a first-half penalty that was awarded after the referee consulted the VAR system, but which Peru midfielder Christian Cueva blasted over the crossbar.
With France having beaten Australia 2-1 in Kazan earlier in Group C, RB Leipzig's Poulsen showed great finishing to hit the winner on 59 minutes to the dismay of the overwhelmingly Peruvian crowd in the 40,502-capacity stadium.
The win extends Denmark's unbeaten run to 16 games without defeat and ends Peru's 15-match unbeaten streak.
Peru veteran Paolo Guerrero, who only made it to the tournament after late reprieve for a drug ban, came on for the final 30 minutes but his efforts at the Mordovia Arena came to no avail.
Authorities in Lima estimate around 25,000 fans flew to Russia to see their team's return to the World Cup and Saransk was a sea of Peru shirts. Their chants were near-deafening on occasion, as were the whistles each time Denmark had the ball or dared to attack.
As a result, Peru dominated the opening 25 minutes. Edison Flores, Andre Carrillo and Yoshimar Yotun all kept Denmark keeper Kasper Schmeichel busy.
After weathering the early storm, the Danes started to push forward. Midfielder Thomas Delaney had their first chance when his long-range effort went over on 27 minutes.
Denmark had to bring on Ajax's Lasse Schone with 36 minutes gone when central midfielder William Kvist was stretchered off.
A yellow card was shown to Peru midfielder Renato Tapia for sending Pione Sisto tumbling just outside the area, but Christian Eriksen drilled the free-kick off the wall.
When Poulsen clipped Cueva's boot on 45 minutes, referee Bakary Gassama checked with the Video Assistant Referee and pointed to the spot for the second penalty awarded through the system of the day after France had also benefited against Australia. Cueva took the spot-kick himself but his effort ballooned over the bar.
Just moments after Peru wasted a clear chance when Cueva squared to Andre Carrillo who failed to connect, Denmark scored.
The ball was quickly moved forward and when Poulsen went one-on-one with Gallese, the darting Dane hit the net on 59 minutes.
Guerrero was in the thick of Peru's bid to get level and his header fell into Schmeichel's arms five minutes later.
Tottenham midfielder Christian Eriksen, who netted 11 goals in qualifying for Denmark, had to busy himself in defence to snuff out Guerrero-inspired attacks. With just over ten minutes left, Guerrero again went agonisingly close when he pushed his shot past the post as Denmark held on.