Luis Abram scored his first international goal on a header in the 85th minute, and Peru ended Brazil's 17-game unbeaten streak since last year's World Cup with a 1-0 victory Tuesday night.
Peru shockingly pulled out only its second win over Brazil in 21 matches after Abram slipped into the box and nodded home Yoshimar Yotun's free-kick.
Abram is a 23-year-old defender who plays professionally in Argentina for mid-table Vélez Sarsfield, but he managed to outscore a star-studded Brazilian lineup including Bayern Munich's Philippe Coutinho, Liverpool's Roberto Firmino and second-half substitutes Neymar, Vinicius and Fabinho.
Peru beat Brazil for only the fifth time in the nations' 47 meetings. The game also was a rematch of the Copa América final, won 3-1 by Brazil on July 7.
Neymar came on in the 63rd minute along with Liverpool's Fabinho, and Real Madrid's Vinicius joined them in the 74th minute. The stars made a late push, but couldn't level the match in front of a lively crowd of 32,287 at the venerable Coliseum in Los Angeles.
Neymar scored a goal and assisted on another during Brazil's 2-2 draw with Colombia in Miami last Friday, but he was on coach Tite's bench to start in Los Angeles.
He was unable to score his 62nd international goal, which will match Ronaldo's career total for the Seleção.
Neymar's tumultuous summer ended with the superstar still at Paris St. Germain despite extensive negotiations to return to Barcelona. Although PSG took disciplinary action against him for missing training in July, he is expected to return after the international break.
Both teams had chances to score in the opening half, but couldn't convert. Brazil also had a scary moment when Casemiro jumped above David Neres for a header, and the teammates came down holding their heads from the collision. Casemiro returned with a bandage on his head.