
The game was only two minutes old when poor defending from Iceland allowed Renato Tapia a free header from five metres out.
Iceland equalised midway through the first half when Jón Guðni Fjóluson headed home a corner from close range.
Peru took the lead again 12 minutes into the second half when Raúl Ruidíaz slotted home from a tight angle before Jefferson Farfán got the third when his shot from 11 metres out took a deflection that wrongfooted the goalkeeper and found its way into the back of the net.
The victory came four days after Peru beat Croatia 2-0 in Miami.
Peru are heading to their first World Cup in 36 years this summer and will face Denmark, France, and Australia in Group C.
Iceland, who are preparing for their first appearance at the World Cup, begin their Group D campaign against Argentina on June 16 before playing Nigeria and Croatia.