Mario Gaspar scored a stunning acrobatic volley as Spain ended England’s 15-match unbeaten run in merciless fashion in Alicante.
Despite having his back to goal, the Spain right-back managed to beat Joe Hart with a flying volley from Cesc Fabregas’s pass.
It was a wonderful goal worthy of winning any match, but Santiago Cazorla made sure of the 2-0 win eight minutes from time.
England, who started with Wayne Rooney on the bench, held their own for much of the first half. Ryan Bertrand and Raheem Sterling impressed down the left, but eventually Roy Hodgson’s men crumbled under intense pressure and Spain ran out deserved winners.
Hodgson said: “We played against a very good team. It was pretty much as we expected.
“For 70 minutes we held our own and were getting back into it possession-wise.
“But we can’t say we were the better team. They were the better team and deserved to win it.”
Hodgson’s men had the chance to prove they were capable of going toe to toe with Europe’s best, but they came up short.
The Spanish dominated possession from the first whistle and England did not help themselves by giving the ball away regularly.
Michael Carrick, who was carried off on a stretcher late on, looked lost in midfield and Fabian Delph was wasteful too.
Their run may have been impressive, but on this evidence they have a long way to go before they can call themselves European Championship contenders.
It was clear from kick-off that Gerard Pique’s declaration he supported independence for Catalonia had not gone down well with the vast majority of Spain fans.
Every time the Barcelona defender touched the ball, whistles and boos rang out around inside the Estadio Jose Rico Perez.
That aside, the 29,500 spectators did their best to create a party atmosphere inside the open-air stadium.
They were here to see a fiesta of football and their players gave it to them.
In the first half the hosts enjoyed 68 per cent possession. Cesc Fabregas, Andres Iniesta and Thiago Alcantara hogged the ball and attempted to conjure up an opening goal.
Fabregas telegraphed a beautiful 40-yard ball over the England defence for Diego Costa, but Phil Jones recovered just in time to deny the Chelsea striker.
It looked like Pique might have given Spain the lead when his shot looped up in the air off Carrick, but the ball dropped just wide.
Carrick, unable to keep up with the pace of play, was booked for a high tackle on the troublesome Thiago.
Luckily for England, Thiago suffered an injury and was substituted for Cazorla.
When Spain finally allowed England to have the ball, they found the best use for it down the left. Sterling and Bertrand whipped in low crosses, but no one could finish. Harry Kane and Delph all registered shots on target, but Iker Casillas had no trouble saving them.
Hodgson brought debutant Eric Dier on for Delph while Dele Alli replaced Adam Lallana.
Even without Thiago and Andres Iniesta, who was substituted at the break, Spain had no trouble keeping the ball, and it looked inevitable they would score.
Hart saved well to deny Jordi Alba. At the other end, Kane fizzed a dipping drive just wide.
Any hopes England had of taking the lead were dashed in the 72nd minute when Fabregas chipped a ball into the box and Mario unleashed an acrobatic volley that flew past Hart. The whole ground rose to their feet and applauded.
Twelve minutes later Spain killed the game off. Cazorla was given space on the edge of the box and he took full advantage, curling the ball in off a post. Hart thought the goal should not have stood. He complained with the linesman and was booked.
He could have no complaints about the result, however. England had been soundly beaten.
Spain: Casillas, Mario, Pique, Bartra (Azpilicueta 82), Jordi Alba, Busquets (Koke 78), Thiago (Cazorla 27), Iniesta (Nolito 46), Fabregas, Costa (Mata 63), Alcacer (Pedro 74). Unused substitutes: De Gea, Morata, Nacho, De Marcos, San Jose, Sergio Rico.
England: Hart, Walker, Jones, Smalling (Cahill 85), Bertrand, Delph (Dier 63), Carrick (Shelvey 90), Lallana (Alli 63), Barkley (Rooney 73), Sterling, Kane. Unused substitutes: Butland, Clyne, Stones, Gibbs, Heaton.
Referee: P Mazzoleni (Italy).
Arjen Robben showed his pedigree as Holland spoiled the start of Wales’ Euro 2016 build-up with a 3-2 friendly victory in Cardiff.
Robben struck twice in the second half after Bas Dost had put Holland ahead with a header.
Wales’ attacking edge suffered as Gareth Bale and Aaron Ramsey were both missing through injury but Joe Ledley, following in after Joe Allen’s penalty had been saved, and substitute Emyr Huws produced equalisers.
Captain Steven Davis returned to the scene of his finest hour for Northern Ireland and again played match-winner as Michael O’Neill’s men ended their long wait for a friendly victory with a 1-0 success over Latvia.
A month after scoring twice against Greece to book his side a place at Euro 2016, Davis was back at Windsor Park to secure a deserved win.