Qatar had drawn three consecutive matches heading into the clash at the Abdullah bin Khalifa Stadium, but Peru - ranked 52nd in the world - represented a step up in quality.
The hosts held their own until the 84th minute when Alexander Callens headed home from close range.
Paolo Guerrero then capped a lively performance for Pablo Bengoechea's men by making sure of the win in the closing stages, as Peru racked up a third straight victory.
There was little in terms of goalmouth action until Luiz Ceara shot narrowly wide of goal shortly after the half-hour mark for the hosts.
Qatar came even closer to taking the lead seven minutes after the restart, Abdulrahman Issa hitting the crossbar with a header from a free-kick from the left before Abdulaziz Hatem forced a fine stop from George Forsyth with the follow up.
Peru had chances of their own, however, Guerrero racing through one-on-one just after the hour only to be thwarted by a strong one-handed save from Qasem Burhan.
The match appeared to be heading for a draw until Callens intervened. Burhan could only parry Guerrero's thumping back-post header and Callens was on hand to nod home the follow up.
Guerrero then made sure of the win two minutes from time with a well-placed left-footed shot from the edge of the area.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.