La Liga leaders Barcelona were held to a 2-2 home draw by Celta Vigo as their former assistant coach Juan Carlos Unzue dented the title hopes of the Catalans, who dropped points for the second game in a row for the first time this campaign.
Real Madrid were unable to capitalise on Barca's slip up as they were forced to settle for a goalless draw against Athletic Bilbao.
Celta striker Iago Aspas silenced the Nou Camp by giving Celta the lead in the 20th minute, knocking in on the rebound after splitting the home defence with a darting run through the middle.
Lionel Messi quickly replied at the other end, finishing off a sweeping team move two minutes later to score for the first time in six games in all competitions and net his 13th league goal of the season.
Messi helped set up what looked to be the winning goal for Luis Suarez in the 62nd minute as the striker thrashed home a Jordi Alba cutback but Barca were denied victory by another Uruguayan striker in Maxi Gomez.
He slotted in from close range after another searing run by Aspas, who capitalised on Barca defender Samuel Umtiti injuring his hamstring as he tried to keep up with the Spanish forward.
🔊 Sergio Busquets: "Celta took their chances up front. We didn't have that bit of luck despite controlling game" #BarçaCelta pic.twitter.com/rVh3pz31pO
— FC Barcelona (@FCBarcelona) December 2, 2017
Real could have cut the gap to Barca back to six points, but despite starting with the same XI that beat Juventus in June's Champions League final, they could not find a winner at a rain-swept San Mames.
They were also left hanging on for a point at the end after captain Sergio Ramos was sent off in the 86th minute - the 24th time he has seen red in his Real career.
The draw keeps defending champions eight points adrift of Barca, who had earlier recorded a second successive draw after Celta emerged from the Nou Camp with a hard-fought tie.
Unlike Real, Atletico Madrid did manage to take advantage as they moved to within six points of Barca with a 2-1 comeback win against Real Sociedad.
The visitors took a 28th-minute lead at the Wanda Metropolitano when Mikel Oyarzabal was brought down by Atletico goalkeeper Jan Oblak.
Willian Jose converted from the spot to score in four consecutive league games for the first time, but Atletico levelled when Saul Niguez set up Filipe Luis after 62 minutes.
Atletico pressed for a winner and it came three minutes from time, Saul again the provider as Antoine Griezmann stroked home his fourth goal in three games.
Also on Saturday, Sevilla saw off Deportivo La Coruna 2-0 at the Ramon Sanchez Pizjuan thanks to goals Wissam Ben Yedder and Michael Krohn-Dehli.
There was more good news for Sevilla as it was revealed during the game that their coach Eduardo Berizzo has been discharged from hospital after undergoing successful prostate cancer surgery last Tuesday.