A first-half Sergio Ramos goal was enough to give Real Madrid a 1-0 victory at neighbours Getafe as they temporarily moved 10 points clear of Barcelona.
However, Barcelona responded in the late kick-off with a hard-fought 2-1 home win over Real Sociedad.
Lionel Messi set up Cristian Tello for a ninth-minute opener before the Argentina ace then fired home his 23rd league goal of the season in the 72nd minute to make it 2-0.
Sociedad pulled a goal immediately through Carlos Vela following a defensive mistake to set up a nervy finale for Barcelona, but Pep Guardiola's men held on for the points.
Levante's hopes of catching city rivals Valencia in third place suffered another setback as they were held to a draw at home by struggling Racing Santander on Saturday evening.
Arouna Kone put the hosts in front midway through the first half with a close-range header, but they wasted further chances to extend their lead and Racing salvaged a point through Manuel Arana's leveller on the hour mark.
Despite dropping two points Levante remain in fourth spot as their two nearest challengers Espanyol and Athletic Bilbao played out a thrilling 3-3 draw at San Mames.
Athletic took the lead through Oscar de Marcos but Espanyol battled back to go 2-1 ahead just after half-time through fine efforts from Ndri Romaric and Vladimir Weiss.
Athletic's threat from set-pieces turned the game around again, though, as Fernando Llorente headed in Markel Susaeta's free-kick before Javi Marquez nodded home seven minutes later to put the hosts 3-2 ahead.
However, Espanyol salvaged a point when Juan Albin thumped home a stoppage-time equaliser to maintain his side's two-point advantage over Athletic in the race for a Champions League place.
A first-half Gonzalo Castro free-kick earned Real Mallorca a 1-0 win over Real Betis in a match that produced three red cards. Betis lost Mario in the 75th minute before Mallorca saw Ivan Ramis and Victor dismissed in the final four minutes as they finished with nine men.