Athletic Bilbao defender Asier del Horno scored the winner when he looped a header past keeper Paul Robinson in the ninth minute after England had failed to clear a corner.
Spain dominated the game against an England side that failed to produce a single effort on target and rarely troubled the well organised home defence.
The run-up to the match had been marked by a furore surrounding Spain coach Luis Aragones's angry defence of his recent remarks about Arsenal striker Thierry Henry.
The teams lined up behind a banner bearing the slogan "All united against racism in football", but the controversy was reignited when England's Ashley Cole and Shaun Wright-Phillips were treated to a chorus of monkey noises and sections of the crowd joined in racist chants.
On the pitch Spain were in lively mood with winger Joaquin issuing an early warning to the England defence when he whipped in a dangerous cross after skipping down the right wing and slipping the ball through Ashley Cole's legs.
Del Horno sent a follow-up shot straight at Robinson, but four minutes later the Athletic Bilbao defender put the home side in front.
Spain heaped pressure on England with Joaquin creating further problems for Cole and Atletico Madrid striker Fernando Torres proving a handful for John Terry and Rio Ferdinand in the middle.
GILT-EDGED CHANCES
The home side spurned two gilt-edged
Skipper Raul sent a glancing header wide of the far post after a neat cross from Michel Salgado and Arsenal forward Jose Antonio Reyes failed to get his foot to a curling pass from Joaquin.
England were reduced to playing hopeful balls upfield to the isolated Michael Owen and the England striker and his Real Madrid team mate David Beckham looked far from at home at the Bernabeu.
With in-form Barcelona playmaker Xavi running the show in midfield, Spain grew in confidence and Raul won a penalty when he went down after Robinson had pushed the ball away from his feet as he darted into the area.
Robinson atoned, however, when he dived left to save Raul's spot kick and deny the Spain skipper his 41st international goal.
Tempers flared towards the end of the half after Wayne Rooney pushed Spain keeper Iker Casillas in the back as he chased a long pass and the young striker then caught defender Carlos Marchena with a late challenge two minutes later.
England coach Sven-Goran Eriksson replaced the teenager with his Manchester United team mate Alan Smith just before the break.
Spain continued to dominate, enjoying long periods of possession as they stroked the ball around to the delight of the crowd, but the rhythm of the game was disrupted by a stream of substitutions during the second half.