Paolo Guerrero scored the only goal of the game - his second of the tournament - after he and Juan Vargas had gone close on more than one occasion.
The missed chances did not matter once the goal went in, though, and La Rojiblanca now have four points, the same as Chile, with Uruguay (two points) and Mexico (none) beneath them.
Peru set their stall out early on, with Guerrero firing wide after getting into a good position. Javier Aquino then had Mexico's first chance, seeing a close-range hit blocked after Rafael Marquez Lugo had worked an opening for him.
Guerrero grabs winning goal
That was one of Mexico's last real opportunities, though, as Peru took over. Guerrero had a free header, much like he did against Uruguay in their first game, but planted it wide, before Vargas broke into the box and thumped a low drive against the base of the post.
Guerrero then hit over as Peru probed and Vargas slammed a free-kick against the same right-hand post from 25 yards.
Luis Michel did well to get down and beat away Guerrero's header, but there was little anyone in a Mexico shirt could do when the ball came to Guerrero in the box with seven minutes remaining.
Diego Reyes created the opening with two neat drag backs, and Guerrero finished things off to secure the win for his side.