Lionel Messi produced another dazzling display as Barcelona came from behind to defeat Valencia, while Athletic Bilbao beat Malaga and Atletico Madrid were held by Sporting Gijon.
Messi was in irresistible form with four goals for Barcelona in their 5-1 victory over third-placed Valencia.
Valencia silenced the Camp Nou faithful by taking the lead inside ten minutes, with Pablo Piatti taking advantage of uncertainty in the Barca defence to provide the finish to Sofiane Feghouli's right-wing cross.
Messi drew Barca level midway through the first half when he reacted quickly to a loose ball to fire a shot underneath goalkeeper Diego Alves from a tight angle.
The Argentine superstar showed his sharpness again six minutes later to put Barcelona in front as he scooped the ball into the roof of the net from close range after Alves had kept out his initial effort.
A series of fine saves from Alves, as well as the woodwork, kept Valencia in with a chance until Messi completed his hat-trick in the 76th minute with a neat finish on the rebound after Cristian Tello had been denied.
There was still time for Messi to race clear of the visiting defence and chip home for a fourth, and then for Xavi to dink in a fifth, to leave Barca ten points behind fierce rivals Real Madrid at the top of the table.
A stunning four-minute scoring spree midway through the second half helped Athletic Bilbao down fellow UEFA Champions League hopefuls Malaga 3-0 at San Mames.
Malaga will feel they should have been ahead at half-time but they could not make the most of their various chances and were left shellshocked as Athletic netted three times in quick succession to take the spoils.
Substitute Fernando Amorebieta put the home side ahead in the 58th minute and Mikel San Jose and Gaizka Toquero quickly added further goals to settle the contest.
Goalkeeper Juan Pablo was the hero as Sporting Gijon held on to claim a 1-1 draw against Atletico Madrid in Javier Clemente's first game in charge.
Atletico went ahead early on when Adrian Lopez outstretched the Sporting defence and his shot was turned into his own net by Roberto Canella.
However, the hosts responded well and Sebastian Eguren equalised 17 minutes later.
Pablo denied the visitors on numerous occasions after the break, most notably from Radamel Falcao's close-range effort after 82 minutes, but Sporting could even have won it had it not been for Thiabaut Courtois' brilliant one-on-one save from Adrian Colunga six minutes from time.
Real Mallorca ended Villarreal's recent revival in spectacular style with a 4-0 win at the Iberostar.
There was little to choose between the sides in the first period, but the hosts took the lead just before the break as Chori Castro's great free-kick was turned in from close range by Victor Casadesus.
Castro's set-pieces continued to cause the visitors problems after half-time and the second goal arrived in the 53rd minute as Diego Lopez could only punch Castro's cross into the path of Jose Luis Marti, who headed into the empty net.
Victor got his second goal of the game following a flowing counter-attack 12 minutes later and Jose Nunes rounded things off with a free header from another Castro corner.
Granada moved five points clear of the relegation zone with a convincing 4-1 home win over 10-man Real Sociedad.
The visitors had taken an early lead when Mikel Gonzalez headed in Asier Illarramendi's cross after 10 minutes, but Granada were level two minutes later as Inigo Lopez found space at the back post to nod in Mikel Rico's cross.
Illarramendi was shown a straight red card just before half-time for a lunge on Franco Jara and the hosts took advantage of the extra man in the second period as Jara's wonder strike and Ikechukwu Uche's header put them 3-1 in front.
Granada defender Guilherme Siqueira was also sent off with five minutes remaining to even up the numbers but it made little difference as the home side immediately broke upfield and Uche sealed the three points with a tap-in after Claudio Bravo had denied Jara.
Alhassane Bangoura and Diego Costa both scored twice as Rayo Vallecano inflicted another blow on Levante with a 5-3 away win.
Andrija Delibasic also scored for the visitors, while Levante's goals came from Jose Barkero and Ruben Suarez, who scored twice including a last-minute penalty.