A review of the weekend's action so far in Spain's Primera Division, including victory for Barcelona against Mallorca.
Two goals by Lionel Messi inspired leaders Barcelona to a 4-2 victory at Mallorca after the hosts had threatened to derail their visitors' bid for a 10th win in this season's Primera Division.
Barcelona were cruising at 3-0 up at half-time thanks to goals from Xavi, Messi and Cristian Tello.
However, Mallorca scored twice in four second-half minutes through Michael Pereira and a Victor Casadesus penalty but Messi struck to bring the hosts' comeback to a halt.
Young substitute Alvaro Morata earned Real Madrid a near-farcical 2-1 win over Levante at a waterlogged Estadi Ciutat de Valencia.
Cristiano Ronaldo fired Real into a first-half lead but Angel Rodriguez, on as a substitute early in the second half, equalised in the 62nd minute.
Xabi Alonso missed a penalty but then delivered the free-kick for Morata, who had only been on the pitch for two minutes after replacing Mesut Ozil, to head the winner.
The match was contested in almost unplayable conditions, with the ball barely bouncing or rolling on the sodden surface.
Atletico Madrid moved back to within three points after easing to a 2-0 victory over Getafe.
Adrian Lopez opened the scoring with his first league goal of the season midway through the first half, with Atletico doubling their lead two minutes before half-time as Arda Turan was allowed to run through on goal and slot coolly past Miguel Angel Moya, despite having controlled the ball with his hand.
Getafe had their chances in the first half but offered little resistance after the break and their second defeat of the week leaves them still in the bottom half of the table.
Valencia claimed their first away point in five league games with a 1-1 draw at Valladolid.
Aly Cissokho had headed the visitors into the lead after just 15 minutes but the French defender went from hero to villain in the second half when he brought down Omar Ramos to concede a penalty and was shown a red card for denying a clear goalscoring opportunity.
Victor Perez confidently converted the spot-kick to extend Valladolid's unbeaten run to four games as both sides remain in mid-table on 15 points from 11 games.
First-half goals from Oscar de Marcos and Markel Susaeta were enough to hand Athletic Bilbao a 2-1 win over Sevilla as the hosts withstood a late flurry to take all three points.
De Marcos put the hosts ahead at San Mames with a neat side-footed finish from Jon Aurtenetxe's cross in the 27th minute and Susaeta made it two with the last attack of the half as Andres Palop could only help his powerful drive into the net.
However, a grandstand finish was ensured when Athletic were reduced to 10 men as Ander Herrera was shown a second yellow card 14 minutes from time, and two minutes later Alvaro Negredo reduced the arrears from the penalty spot.
Sevilla then laid siege to the Athletic goal but were denied on a couple of occasions by Gorka Iraizoz as their winless run in the league extended to a third game.
On Saturday, Real Sociedad ended a run of four matches without a win and moved out of the bottom three with a deserved 2-1 victory at Champions League last-16 qualifiers Malaga.
Carlos Vela gave the visitors the lead in the opening minute and, although that was cancelled out by Javier Saviola, Xabi Prieto scored the decisive goal in the second half.
Defeat leaves Malaga, who reached the last 16 of the Champions League in midweek after drawing with AC Milan in fifth place, 10 points behind leaders Barcelona.
Rayo Vallecano produced a stunning second-half comeback to beat 10-man Celta Vigo 3-2 at Vallecas.
Iago Aspas had fired the visitors into a two-goal lead with two fine finishes in the first half, but the game swung in Rayo's favour five minutes before half-time when defender Gustavo Cabral was shown a second yellow card.
Leo Baptistao and Tito then headed the hosts back on level terms after the break and Piti sealed the comeback with a penalty eight minutes from time.
Helder Postiga scored twice as Real Zaragoza also roared back from two goals down to beat 10-man Deportivo la Coruna 5-3.
The visitors had gone into an early 2-0 lead thanks to goals from Bruno Gama and Riki, but Apono brought Zaragoza back into the game from the penalty spot before half-time.
Pizzi was then shown a second yellow card for diving four minutes into the second period, and the hosts made their man advantage pay in spectacular style as Paco Montanes and Alvaro Gonzalez put them 3-2 in front before Postiga bulleted in two headers from excellent crosses by Victor Rodriguez.
Rodolfo Bodipo got one back for Depor in the last attack of the game but it mattered little, as Zaragoza moved into the top half of the table with their fourth victory in five games.
Bottom side Osasuna ended a run of five straight away defeats in emphatic style with a 3-0 victory against fellow strugglers Espanyol.
Osasuna had just one win from their opening 10 league matches before this match and had lost all of their matches on their travels, yet they never looked back after taking the lead through Alvaro Cejudo midway through the first half.
The 29-year-old former Las Palmas midfielder then teed up Kike Sola in the 63rd minute before Manuel Omwu added further gloss to the scoreline 12 minutes from time.
On Friday night, struggling Granada upset high-flying Real Betis 2-1.
Betis went into the match hoping to pick up three points and, at least briefly, move ahead of Real Madrid in third place, while their visitors started the day second bottom of the standings.
But the form book went out of the window as Gabriel Torje gave Granada an eighth-minute lead and Mikel Rico sealed victory after Ruben Castro's equaliser.