Denmark left back Andreas Christensen thwarted two more Peru threats before 20 minutes had elapsed, first with his well-timed slide tackle on Luis Advincula on the right edge of the area, and minutes later with a quick-reaction swing of his left foot to deflect Carrillo's low shot toward the right post.
"Peru are an outstanding team", the Norwegian told reporters.
A penalty ballooned over the bar by Christian Cueva in the final minutes of the first-half meant Peru didn't have the lead their performance deserved.
The victory gave Denmark a crucial advantage in Group C, in which France defeated Australia 2-1 earlier in the day.
The referee pointed to the spot upon reviewing video footage and Cueva blazed over, much to the dismay of Peru's sizable travelling support. That helped the keeper recover and leap to grab the ball as it came down with Peru players nearby looking to pounce.
Denmark were far from their best against Peru, but goalkeeper Kasper Schmeichel simply would not be beaten.
And in keeping a clean sheet, Schmeichel broke a national record of his father's, going 534 minutes without conceding a goal for Denmark - his father managed 470 in 1995. The Spurs midfielder also scored a whopping 11 goals in qualifying for his country, including a hat-trick against The Republic of Ireland in the play-offs.
Peru piled forward and Flores drew a fine, one-handed save from Schmeichel, before the winger was replaced by Peru's all-time leading goal-scorer Guerrero in the 62nd minute.
After years of sorrow, Peru have gone to extraordinary lengths to support their team with fans quitting jobs and sleeping on floors to make it to Russian Federation having failed to make the World Cup since 1982.
While their team may have ultimately lost the match, the Peru fans looked and sounded happy to just be in the tournament and the way their side played will still have them confident of a positive tournament.