Let's put it this way: the US lose or draw to Peru, there's some concern. They were in danger of doing that for almost 40 minutes until Jozy Altidore scored a rebound off a penalty-kick to equalize.
The score remained tied until the 68-minute when Altidore roofed another rebound to give them the lead. He showed up in a game that didn't feature the two biggest mainstays in the lineup, Michael Bradley and Clint Dempsey, who were busy with their MLS clubs.
US manager Jurgen Klinsmann made some changes to his squad, going with a flat 4-4-2 formation that featured Michael Orozco and Tim Ream at fullback and Omar Gonzalez and John Brooks at center-back. Geoff Cameron, Ventura Alavarado and Matt Besler would enter as subs on defense.
In the midfield, DeAndre Yedlin and Gyasi Zardes manned the flanks while Alejandro Bedoya and Jermaine Jones played in the middle. Altidore paired with Bobby Wood at forward.
Peru, who finished third at this summer's Copa America, played well, finishing with 14 shots and 58 percent possession. They had the lead for a good part of the game, but Altidore drew a penalty-kick near the hour-mark, and converted on the rebound off of a save by goalkeeper Pedro Gallese.
The Toronto FC star, who is in form in MLS play as well, scored the winner 10 minutes later. He looked good all game, and seemed to have earned a spot in the lineup against Brazil next week.
It was an encouraging result for the Americans, but all that matters in October 10th's match against Mexico, which determines CONCACAF's representative in the 2017 Confederation's Cup.
US lineup: Guzan, Orozco (Cameron, HT), Gonzalez (Alvarado, HT), Brooks (Besler, HT), Ream, Yedlin, Bedoya (Diskerud, HT), Jones (Williams, 72'), Zardes, Altidore, Wood (Johannsson, 71')
Peru lineup: Gallese, Vargas, Ascues, Zambrano, Advincula, Ballon (Flores, 65'), Lobaton (Yotun, 72'), Carrillo (Hurtado, 64'), Farfan, Cueva, Chavez (Tapia, 82')