Marcus Rashford had sent 2018 World Cup semi-finalists England ahead in the 11th minute, but Saul Niguez levelled the scores two minutes later before Rodrigo Moreno netted a second for La Roja just past the half-hour mark.
Former world champions Spain will march on to face Croatia in their second match of the section on Tuesday, while England, who had a late Danny Welbeck strike controversially disallowed at Wembley, will take on Switzerland in a friendly on the same night.
England took the lead in the 11th minute of action, and the goal arrived courtesy of excellent work from Luke Shaw.
Shaw was rewarded for his fine Manchester United form with a spot in the England XI, and the left-back drove to the edge of the Spain box before finding a brilliant pass into club teammate Rashford, who beat David de Gea between the sticks to make the breakthrough.
Spain were behind for less than two minutes, however, with Atletico Madrid midfielder Saul sweeping low and past England goalkeeper Jordan Pickford following a smart cross from Rodrigo.
La Roja had a lot of the ball in the period that followed, but clear chances were few and far between, with Rodrigo's strike from distance - which missed Pickford's post - the closest they came to a second in the next 10 minutes.
Harry Kane had England's next opportunity after the goal, but the Tottenham Hotspur striker headed a Kieran Trippier free kick into the arms of De Gea in the 25th minute, before Dele Alli wasted a promising moment outside the Spain box three minutes later.
Dani Carvajal continued to cause England problems down the Spain right, and the Real Madrid defender came close to finding a teammate with a couple of dangerous crosses as the first period continued to develop.
Spain did score a second in the 32nd minute, however, when Rodrigo's clever near-post flick from a Thiago delivery found its way into the bottom corner of the net.
The response from England was positive, and only an excellent save from De Gea prevented Rashford from heading the home side level in the 35th minute.
Pickford needed to be alert to keep out a strike from Saul down the other end though as Spain looked for a third before the interval, which ultimately did not arrive.
There was a stoppage at the start of the second period following a head injury to Shaw, who stayed on the ground for some time before he was stretchered off in the 53rd minute.
Shaw's first contact was with Carvajal, before the left-back's head rebounded off the turf in an incident that caused serious concern inside the stadium.
The first chance of the second half fell to Thiago in the 55th minute, and the midfielder's strike on the half-volley just missed the England crossbar.
Spain were the superior team as the match passed the hour mark, and Pickford had to keep out an effort from Saul during a period of domination from the visitors.
Rashford had a super chance to level the scores in the 81st minute when he broke into a shooting position before looking to beat De Gea, but his United teammate was on hand to make the save.
Rashford forced De Gea to make another super stop moments later, but the offside flag was raised, before Harry Maguire headed a Trippier corner wide of the post with England looking for a leveller.
Gareth Southgate's side continued to press as the match entered nine minutes of additional time, but Spain were having the better chances, with Sergio Ramos - booed throughout the match - and Rodrigo both coming close.
England thought that they had levelled in the eighth minute of additional time when Welbeck turned home from close range, but the referee blew for a soft free kick following a challenge on De Gea as Luis Enrique started his reign as Spain boss with a win.
ENGLAND (3-5-2): Pickford; Trippier, Maguire, Stones, Gomez, Shaw (Rose 53'); Henderson (Dier 64'), Alli, Lingard; Rashford (Welbeck 94'), Kane
SPAIN (4-3-3): De Gea; Carvajal, Ramos, Nacho, Alonso (Martinez 87'); Saul, Busquets, Thiago (Roberto 80'); Isco, Rodrigo, Aspas (Asensio 68')