La Roja delivered a polished display in Puebla, easing past Peru as preparations enter their final phase before the World Cup.

Oyarzabal and Pedri dazzled as Spain eased past Peru, but the scoreline didn’t tell the whole story
Spain won, improved its image and avoided injuries. Mission accomplished. No more words are needed to settle the final friendly before the World Cup. The 3-1 scoreline spoke clearly of La Roja’s superiority over Peru, a sparring partner that barely threw a punch and only improved slightly after halftime. It was an accommodating opponent for fine-tuning preparations ahead of the tournament opener against Cape Verde. With less than a week remaining, Spain’s orchestra is beginning to find its rhythm, led in Puebla by the artistry of Pedri, Ferran Torres and Mikel Oyarzabal.
“The final test,” read the advertising boards inside Puebla’s Cuauhtémoc Stadium. And it was. For Spain, it was the last friendly before its World Cup debut. For Peru, the stakes were lower, but it still represented a useful gauge of where Mano Menezes’ side stands as it works toward future challenges after failing to qualify for the tournament.
Oyarzabal, however, seems unfamiliar with the concept of a test. His left foot operates on its own terms, whether it is deciding a European Championship final, as it did in 2024, or knocking out Peru with the first attack of the game. Spain patiently shifted possession from side to side, one of its defining traits, until Pau Cubarsí found the Real Sociedad forward. Oyarzabal took only a few strides before unleashing a left-footed strike that left Pedro Gallese helpless. Scoring can look simple when the opposition watches rather than acts and when a player possesses the finishing instinct Oyarzabal has shown in recent years.
The Real Sociedad striker completed a starting lineup far more recognizable than the one that drew with Iraq on Thursday in A Coruña. Marcos Llorente and Marc Cucurella occupied what appear to be the first-choice fullback spots, Rodri pulled the strings in midfield, and Álex Baena and Ferran Torres started on the wings while Nico Williams and Lamine Yamal continue their recoveries. Peru’s midfield anchors, Yoshimar Yotún and Jesús Pretell, watched the ball move from side to side as Spain constructed attack after attack. Menezes sighed repeatedly on the touchline, fully aware the game could become a long chase after the ball. The hydration break in the 22nd minute appeared to offer relief, but it was merely a mirage – the illusion of an ice-cold soda in the desert.
Penetrating runs open Peru up
The game unfolded at a leisurely pace. Spain controlled proceedings at will, while Peru focused on protecting its goalkeeper. Only the penetrating runs of Baena and Fabián Ruiz raised the pulse among the crowd, a lively mix of Spanish, Peruvian, Real Madrid and Barcelona jerseys. Ferran Torres joined the fun, bursting down the right flank before setting up Pedri’s goal. The run was excellent, the pass even better, and the finish straightforward. In short, it was 2-0 after 31 minutes without Spain breaking much of a sweat.
That effectively settled the contest before halftime, although Peru did create a couple of scares through Ugarriza and Noriega. That may be the area Luis de la Fuente focuses on most in the coming days. With very little effort – essentially a direct pass from midfield – Peru managed to trouble Spain’s central defensive pairing.
David Raya, Eric García, Dani Olmo and Yeremy Pino were the first changes introduced after the break by De la Fuente, fresh legs on a night when drizzle and Puebla’s 6,890-foot altitude added another layer of difficulty.
Spain gained pace with the introduction of the Crystal Palace winger, who was involved in the sequence that best summed up a game lacking intensity. He reached the byline and delivered a cross, only for Gallese to carry the ball into his own net despite it not being headed toward goal in the first place in the 52nd minute. It appeared the veteran Peruvian goalkeeper never heard Alfredo Di Stéfano’s famous advice: “I’m not asking you to save the ones going in, but at least don’t put in the ones going out.”
Yet Gallese did not have a monopoly on mistakes. Thirteen minutes later, Eric García allowed a low pass to run through, and Jairo Vélez took full advantage, lifting his finish over Raya. That was the only blemish on Spain’s evening in Puebla – a vulnerability when dealing with balls played in behind the central defenders. It is something that must be corrected before the safety net disappears.
And at the World Cup, there is no safety net.
Related stories
Get closer to the game! Whether you like your soccer of the European variety or that on this side of the pond, our AS USA app has it all. Dive into live coverage, expert insights, breaking news, exclusive videos, and more. Plus, stay updated on NFL, NBA and all other big sports stories as well as the latest in current affairs and entertainment. Download now for all-access coverage, right at your fingertips – anytime, anywhere.
And there’s more: check out our TikTok and Instagram reels for bite-sized visual takes on all the biggest soccer news and insights.
- Pedro Gallese
- Oliver Sonne (85')
- Marcos Johan Lopez (85')
- Renzo Garcés
- Fabio Gruber
- Johnny Vidales (61')
- Erick Noriega (61')
- 16 Jesús Pretel (86')
- Yoshimar Yotún (61')
- Adrián Ugarriza (75')
- Jairo Vélez (86')
- Substitutes
- Bassco Soyer
- Matías Córdova
- Matías Lazo
- Maxloren Castro (61')
- Marco Huamán (85')
- Kenji Cabrera
- Matías Zegarra (85')
- André Carrillo (61')
- Rodrigo Vilca (86')
- Adrián Quiróz (75')
- Alfonso Barco (61')
- Jairo Concha (86')
- Alejandro Duarte
- 23 Unai Simón (45')
- 14 Laporte (45')
- 22 Cubarsí (60')
- 24 Cucurella (68')
- 5 Marcos Llorente (68')
- 20 Pedri (60')
- 7 Ferran (68')
- 16 Rodrigo (60')
- 8 Fabián (45')
- 15 Álex Baena (60')
- 21 Oyarzabal (45')
- Substitutes
- 2 Pubill (60')
- 3 Grimaldo (68')
- 9 Gavi (60')
- 1 David Raya (45')
- 10 Dani Olmo (45')
- 11 Yeremy Pino (45')
- 18 Martín Zubimendi (60')
- 26 Borja Iglesias (68')
- 13 Joan Garcia
- 6 Merino (60')
- 12 Pedro Porro (68')
- 4 Eric Garcia (45')
Substitutions
David Raya (45', Unai Simón), Eric García (45', Aymeric Laporte), Dani Olmo (45', Fabián Ruiz), Yéremy Pino (45', Mikel Oyarzabal), Martín Zubimendi (60', Rodri), Gavi (60', Álex Baena), Marc Pubill (60', Pau Cubarsí), Mikel Merino (60', Pedri), Alfonso Barco (61', Erick Noriega), André Carrillo (61', Yoshimar Yotún), Maxloren Castro (61', Jhonny Vidales), Borja Iglesias (68', Ferran Torres), Alejandro Grimaldo (68', Marc Cucurella), Pedro Porro (68', Marcos Llorente), Adrián Quiróz (75', Adrián Ugarriza), Marco Huamán (85', Oliver Sonne), Matías Zegarra (85', Marcos López), Jairo Concha (86', Jairo Vélez), Rodrigo Vilca (86', Jesús Pretell)
Goals
0-1, 1': Oyarzabal, 0-2, 31': Pedri, 0-3, 52': Pedro Gallese, 1-3, 65': Jairo Vélez
Cards
Referee: Fernando Hernández Gómez
Renzo Garcés (85',Yellow)
Complete your personal details to comment