Denmark join France on three points in Group C after Les Bleus registered a 2-1 triumph over Australia earlier on Saturday.
Even when they went behind, Peru continued to push and look for an equaliser, not shifting their style of play and putting Denmark under pressure.
Both teams arrived in Saransk with an identical 15-match unbeaten streak and it appeared to be a matter of time before a bright-looking Peru, egged on by massive support at the stadium, would score.
There are no easy games in South American World Cup qualification, and Los Incas outscored the likes of Argentina, Colombia and Chile to get here.
Peru, who left out all-time top-scorer Paolo Guerrero from their starting lineup, were awarded a penalty after consultation with the video assistant referee for Poulsen's foul. VAR then intervened, and referee Bakary Gassama awarded the spot-kick.
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.
Denmark also reached Russian Federation via the play-offs, beating the Republic of Ireland.
According to FIFA's official records, 43,583 tickets were sold to fans in Peru making them the eighth-most supported nation at the World Cup in Russian Federation - with one even reportedly putting 24kg so that he could apply for one of the special [easy-access extra-width] seats that are much easier to get.