Real Madrid took another step towards their first Primera Liga title in four years, winning 3-0 against Sevilla. Cristiano Ronaldo scored his 57th goal of the season, and Karim Benzema bagged a brace to make sure of the three points.
Barelona, however, stopped Real celebrating just yet, thumping Rayo Vallecano 7-0 to make Real wait at least another match before being hailed Liga champions. Lionel Messi also matched Ronaldo's 43 league goals this season, keeping the race for the 'pichici' title very much alive.
The battle for third place got even more heated as Málaga moved level with Valencia after Nacho Camacho's first-half header was enough to earn all three points for the home side at La Rosaleda.
Hot on their heels, Levante out on an impressive display to beat Granada 3-1 at home stay within three points of a Champions League place next season.
At the other end of the table, Real Zaragoza kept their chances of survival alive with a well-worked 2-0 win over Athletic Bilbao. The win sees Zaragoza move back up to 18th place and within four points of safety with three games to go.
Sporting Gijón also closed to within four points of safety after claiming a much-needed 3-0 triumph away to Espanyol.
However, Racing Santander's demotion from the top flight was confirmed following a 3-0 defeat away by Real Sociedad.
Atlético Madrid managed to salvage a point as Falcao scored a dramatic stoppage-time equaliser to finish up 2-2 at Real Betis.
Real Mallorca moved above Getafe in the Liga standings following a 3-1 away win over their opponents.
Villarreal continue to inch towards survival following a 1-1 draw at home with Osasuna.
Málaga 1 Valencia 0
Rayo Vallecano 0 Barcelona 7
Real Madrid 3 Sevilla 0
Real Zaragoza 2 Athletic Bilbao 0
Real Betis 2 Atlético Madrid 2
Espanyol 0 Sporting Gijón 3
Getafe 1 Mallorca 3
Levante 3 Granada 1
Real Sociedad 3 Racing Santander 0
Villarreal 1 Osasuna 1
Liga standings after 35 games:
1 Real Madrid 91
2 Barcelona 84
3 Valencia 55
4 Málaga 55
5 Levante 52
6 Atlético Madrid 49
7 Athletic Bilbao 48
8 Osasuna 48
9 Sevilla 46
10 Real Mallorca 46
11 Espanyol 45
12 Getafe 45
13 Real Sociedad 43
14 Real Betis 43
15 Rayo Vallecano 40
16 Granada 39
17 Villarreal 38
18 Real Zaragoza 34
19 Sporting Gijón 34
20 Racing Santander 26
Tuesday 1st May
12:00 Getafe vs Racing Santander
18:00 Granada vs Espanyol
20:00 Sporting Gijon vs Villarreal
Wednesday 2nd May
18:00 Atletico Madrid vs Real Sociedad
20:00 Barcelona vs Malaga
20:00 Mallorca vs Rayo Vallecano
20:00 Real Zaragoza vs Levante
20:00 Sevilla vs Real Betis
22:00 Athletic Bilbao vs Real Madrid
22:00 Valencia vs Osasuna
Sunday 6th May
17:00 Athletic Bilbao vs Getafe
17:00 Atletico Madrid vs Malaga
17:00 Barcelona vs Espanyol
17:00 Granada vs Real Madrid
17:00 Mallorca vs Levante
17:00 Osasuna vs Real Sociedad
17:00 Real Zaragoza vs Racing Santander
17:00 Sevilla vs Rayo Vallecano
17:00 Sporting Gijon vs Real Betis
17:00 Valencia vs Villarreal