Athletic Bilbao 1-0 Real Madrid
Real Madrid were unable to increase their advantage at the top of La Liga after they were beaten by Athletic Bilbao at San Mames.
Veteran Athletic striker Aritz Aduriz, 30, put the hosts ahead with a header from Mikel Rico's cross.
Real dominated the game after half-time and Gareth Bale's audacious long-range effort struck the post.
But Athletic hung on to claim the victory which means Real have just a two-point lead over Barcelona.
The Catalan club will go top if they can take maximum points from Sunday's match against Rayo Vallecano at the Nou Camp.
Real coach Carlo Ancelotti, who guided the club to their 10th European Cup last year, was forced to defend himself against criticism from supporters earlier this week.
Some fans are unhappy with Ancelotti's approach, with media reports claiming they view the Italian as a soft touch.
Real's lead was cut to two points following last weekend's 1-1 draw at home to Villarreal and more dropped points against the Basque club could prove costly for Ancelotti's side.
Athletic opened the scoring when Aduriz escaped the attentions of Real defender Pepe and powerfully headed Rico's cross past keeper Iker Casillas.
After a modest first-half display Real were much improved after the break and Athletic keeper Gorka Iraizoz saved at the feet of Karim Benzema on the hour.
Cristiano Ronaldo appealed for a penalty after he went down under Iraizoz's challenge, while Wales forward Bale's superb long-range effort bounced back out off the post.
Elsewhere, Vitolo scored twice as Sevilla held on to a thrilling 4-3 win away to Deportivo La Coruna following a dramatic finale to the game.