Brazil claimed its ninth Copa America title by beating Peru 3-1 in South America's showpiece tournament decider in July.
But defender Abram's 85th-minute header saw Peru past Brazil in Los Angeles on Wednesday (AEST), while condemning the Selecao to their first defeat since the 2018 FIFA World Cup.
Neymar started on the bench as Tite made four changes to his line-up that drew 2-2 against Colombia, with David Neres, Eder Militao and Allan coming in for the PSG star, Dani Alves, Thiago Silva and Arthur.
It was a scrappy match on a pitch that still showed the marks of American football in Los Angeles, where NFL franchise the Rams and the NCAA's USC Trojans are tenants.
While there was plenty of energy and endeavour from Peru, chances were few and far between in the first half – Edison Flores' volley in the 23rd minute the closest either team went to breaking the deadlock.
After Neres went down inside the area under a risky challenge from captain Luis Advincula amid appeals for a penalty, Flores then produced an instinctive volley to force Brazil goalkeeper Ederson into a save.
There was a nasty clash of heads between Brazil team-mates Casemiro and Neres just past the half-hour mark, but both players managed to play on.
Pedro Gallese came to Peru's rescue four minutes into the second half. Richarlison played a delightful throughball to Allan but the goalkeeper was quick off his mark to deny the Brazil midfielder his first international goal.
A drilled effort from Philippe Coutinho caused problems for Gallese just past the hour-mark before Neymar's introduction, and while the latter provided some spark, there was to be no breakthrough for Brazil.
Just as the match looked to be petering out for a draw, a delightful free-kick from Yoshimar Yotun picked out Abram, whose deft touch beat Ederson and found the back of the net.