It wasn't such a successful night for two more of the continent's heavyweight sides, however, with a Germany team missing its Bayern Munich stars losing 5-3 in Switzerland and the Netherlands losing 2-1 to Bulgaria.
Germany and the Netherlands are in the same Euro 2012 group, along with Portugal, which drew 0-0 with Macedonia, and Denmark, which was beaten 3-1 by Brazil.
But Roy Hodgson began his reign as England manager with a 1-0 victory at Norway.
The friendlies give Euro 2012 contenders a chance to assess their lineups just two weeks before the tournament starts in Poland and Ukraine.
Adrian Lopez made a case for starting up front for the Spanish at the Euros in place of the injured David Villa by opening the scoring in the 64th minute on his international debut, before earning the penalty that was converted by Santi Cazorla 16 minutes from time.
Adrian was one of six players introduced after the break by coach Vicente del Bosque, who was without his star names from Barcelona, and they helped turn the game the world champions' way in St. Gallen, Switzerland.
The Atletico Madrid striker finished off a quick counterattack by heading home Jesus Navas' cross after the winger was released from a long ball by substitute Benat Etxebarria.
Adrian - the leading scorer in Spain's win in the Under-21 European Championship last year - was then felled by Branislav Ivanovic, allowing Cazorla to step up to score from the penalty.
He has Fernando Torres, Fernando Llorente, Roberto Soldado and Alvaro Negredo to compete with for a spot in Del Bosque's squad, which will be announced on Sunday, but the coach couldn't have failed to be impressed by the debutant.
While Spain looks to have good backup for its leading players, the same maybe can't be said about Germany - arguably the holders' biggest rivals for the title at Euro 2012.
Germany rested its Bayern players who were involved in the loss to Chelsea in last weekend's Champions League final and was made to pay as Eren Derdiyok scored a hat trick in Basel.
Stephan Lichtsteiner and Admir Mehmedi also scored for Switzerland, which failed to qualify for next month's tournament, while Mats Hummels, Andre Schuerrle and substitute Marco Reus were the scorers for Germany.
In Amsterdam, World Cup runner-up the Netherlands lacked its trademark fluency.
Robin van Persie gave the Netherlands the lead on the stroke of halftime, running onto a pass over the Bulgaria defense by Wesley Sneijder and volleying home with his left foot for his 26th international goal.
Bulgaria hit back shortly after the break through an Ivelin Popov penalty after Rafael van der Vaart was adjudged to have handled the ball in the area while attempting a sliding block.
And substitute Ilian Micanski scored the winning header in injury time for Bulgaria.
In Oslo, Ashley Young scored England's only goal in the 9th after combining with Andy Carrolll.
Cristiano Ronaldo started in attack for Portugal but he couldn't break down a packed Macedonia defense in Leiria, with the home fans ending up jeering their own players.
Denmark is the other team in a tough Group B at the Euros and the Nordic team was swept aside 3-1 by Brazil, which was starting a four-match tour ahead of the London Olympics.
Porto striker Hulk, who has been linked with a move to European champion Chelsea, scored two of Brazil's goals while Nicklas Bendtner grabbed a late consolation for the Danes.
In Dublin, Ireland beat Bosnia-Herzegovina thanks to Shane Long's second-half goal as it prepares for a first tournament appearance in 10 years.