Barcelona could only draw 2-2 away to lowly Almeria on Saturday, in an accident-prone match, dpa reported.
Zlatan Ibrahimovic and coach Pep Guardiola were controversially sent off for Barca, who needed two goals from league top scorer Lionel Messi to avoid defeat.
The draw leaves Barca three points ahead of Real Madrid, who will pull level with them if they manage to beat fourth-placed Sevilla at home in Saturday's late match.
The game started badly for Barca, when after 13 minutes Almeria defender Domingo Cisma took advantage of some sloppy defending to head in a near-post corner and make it 1-0.
Barca dominated from then on, but were kept at bay by local keeper Diego Alves.
There was nothing that Alves could do when, four minutes before half-time, Messi made it 1-1 with an exquisite free-kick.
Barca then surprisingly lost control of the game on the hour.
First veteran captain Carles Puyol made it 2-1 by clumsily turning a centre from Guilherme into his own goal. Then three minutes later Ibrahimovic was harshly sent off for scuffling with Cisma, who hit the ground dramatically.
In the 67th minute Messi made it 2-2 with a close-range volley after a bad mistake by Guilherme.
Both teams had chances to win the match in a frenetic finale.
Earlier on Saturday, Deportivo Coruna had steamed up to fifth with a 3-1 home defeat of lowly Tenerife.
Juanlu gave Tenerife a shock lead after 17 minutes, after being played through by Pablo Sicilia. But in the 33th minute Juan Rodriguez made it 1-1 by heading in an Andres Guardado centre, and Deportivo were firmly in the driving seat.
Guardado made it 2-1 to Deportivo 10 minutes into the second half with a ferocious left-foot drive. And defender Diego Colotto added a third goal for the hosts in the 66th minute with a long-range right- foot drive.
Deportivo now have 41 points from 25 games, one point more than sixth-placed Mallorca but two less than Sevilla.
Tenerife, in contrast, are second from the bottom and facing a quick return to the second division.