Diego Mainz scored at both ends as Granada drew with Sevilla, while Rayo Vallecano moved closer to survival.
Rayo Vallecano beat Almeria 2-0 with goals in either half to all but secure Primera Division survival.
Santi Mina scored four goals as Celta Vigo ran riot against Rayo Vallecano, hammering the Madrid side 6-1 at Balaidos.
Real Madrid claimed a 2-0 victory over a spirited Rayo Vallecano to remain hot on the heels of Barcelona.
Rayo Vallecano scored two goals in two minutes at the end of the first half to come from behind and win 2-1 at Eibar.
Rayo Vallecano picked up a fourth straight Primera Division home win as they beat Malaga 1-0.
Athletic Bilbao won their fourth league match in a row as they beat Celta Vigo 2-1 on the road thanks to goals from Aritz Aduriz and Mikel San Jose.
Lionel Messi's 24th Primera Liga hat-trick helped Barcelona to a 6-1 victory over Rayo Vallecano.
Live only on
More of the games that matter on Sky Sports
Listen to the latest Premier League News
All the gossip from the morning editions
Predict six scores to win the £250,000 jackpot!
Win a trip to Barcelona with Police sunglasses