Goals from Adam Lallana and Jamie Vardy had seemingly set the hosts on their way to victory in Gareth Southgate's final match in interim charge of the team, but Iago Aspas and Isco struck late on to maintain Julen Lopetegui's unbeaten start to life as Spain boss.
Southgate began the match as heavy favourite to get the job on a permanent basis after overseeing two wins and a draw from his opening three games in charge, and his hopes suffered no harm at all when the hosts broke the deadlock after just nine minutes.
The in-form Lallana threaded an inch-perfect pass around the defence to send Vardy clean through on goal, and the Leicester City man was able to smuggle the ball around Pepe Reina before going down under the challenge of the Spain goalkeeper.
Lallana stepped up to take the spot kick and made no mistake by stroking it into the top corner for his third goal in his last three appearances for England having failed to score in his opening 26 international outings.
Spain's best opening of the first half arrived 15 minutes in when Vitolo collected a cut-back on the edge of the box only to drag his shot comfortably wide of the target.
The visitors continued to see more of the ball as the half wore on, but play was often broken up by a number of fouls, with the first half seeing four yellow cards and Vardy, Reina and Raheem Sterling all escape further punishment for fouls that could have warranted reds in a competitive fixture.
England also lost Lallana to injury during the first half, but for the most part Southgate would have been happy with what he saw from his side as they limited the threat of Spain while maintaining a danger on the counter-attack.
Southgate's good mood would have got even better shortly after the restart too, as England doubled their advantage less than three minutes into the second half, with Vardy ending a 14-match goalless streak by powering a diving header from Jordan Henderson's cross past a helpless Reina.
It was almost three moments later when Theo Walcott was slipped in down the right channel, only for Reina to deny the Arsenal man with a smart stop before Henderson - captaining the side in Wayne Rooney's absence - dragged a follow-up effort wide.
Spain nearly pulled one back 10 minutes into the second half when David Silva's deflected effort was kept out by Tom Heaton - on as a half-time sub for Joe Hart - at the near post before Nathaniel Clyne prevented debutant Aspas from turning home the rebound.
The Burnley shot-stopper then kept out Alvaro Morata as England continued to hold Spain at arm's length on their way to what looked like a 15th win from their last 16 home matches.
Southgate was able to hand a debut to Aaron Cresswell in the final 10 minutes, but it developed into a cameo to forget as Spain launched their comeback, starting with Aspas firing a fine strike in off the post with just one minute of normal time remaining.
Isco then dragged one shot wide as the visitors went in search of a quickfire second, but the Real Madrid man atoned for that miss as the clock ticked over the allotted five minutes of injury time, taking the ball down on his chest before squeezing it through the legs of Heaton from a tight angle with what proved to be the last meaningful kick of the game. body check tags ::