Lionel Messi scored four goals to reach 50 in La Liga and 72 in all competitions as Barcelona gave Pep Guardiola a win in his final game at Camp Nou, 4-0 over Espanyol on Saturday.
Messi extended his lead atop the scoring charts over Cristiano Ronaldo to five goals entering the final weekend of the season as he scored in the 12th, 64th, 74th and 79th minutes to decide the Barcelona derby.
Barcelona remained seven points behind Real Madrid in second place, as Ronaldo scored in a 2-1 win over Granada on Saturday. Espanyol lost its fourth game in a row, but has secured safety as it is five points above the bottom three.
Real Madrid 2, Granada 1
Granada, Spain - Cristiano Ronaldo notched his 45th La Liga goal this season with 10 minutes remaining in normal time, and David Cortes gifted Real Madrid the winning own goal in stoppage time for a 2-1 win over Granada on Saturday.
Franco Jara scored in the fifth minute at Los Carmenes for Granada, but it was not able to hold on as Real rallied to extend its undefeated streak in La Liga to 22 matches.
With the title already secured, Real left Granada on the brink of relegation. Granada is 15th, but just two points above the relegation zone with one match left in the season.
Valencia 1, Villarreal 0
Valencia, Spain - Jonas scored in stoppage time as Valencia edged Villarreal, 1-0, on Saturday at Mestalla to lock up third place in La Liga and leave the Yellow Submarines on the brink of relegation entering the final weekend.
Valencia won four the fourth time in six games to secure third, but Villarreal is 16th and just one points above the relegation zone after its five-game run without a loss was snapped.
Atletico Madrid 2, Malaga 0
Madrid, Spain - Koke and Adrian scored in the second half as Atletico Madrid closed within two points of fourth place and a Champions League berth with a 2-0 win over Malaga on Saturday at the Vicente Calderon in La Liga.
Atletico extended its unbeaten streak to five matches, and could pass Malaga for fourth place on the final weekend of the season. Malaga still sits fourth, but has lost two straight to leave its place in doubt with one game left.
Mallorca 1, Levante 0
Mallorca, Spain - Tomas Pina scored in the second half as Mallorca defeated Levante, 1-0, on Saturday at Estadio Son Moix to pull level on 52 points for sixth place and a Europa League berth.
Mallorca and Levante are also both just three points behind Malaga for fourth, which would secure Champions League play. Mallorca has won four straight, and Levante lost for the fourth time in its last six.
Sevilla 5, Rayo Vallecano 2
Seville, Spain - Baba Diawara notched a brace as Sevilla rolled to a 5-2 win over Rayo Vallecano on Saturday at the Estadio Ramon Sanchez Pizjuan to stay within reach of a Europa League place entering the last weekend in La Liga.
Sevilla is three points out of sixth and needs a win and help, but it snapped a four-game winless streak and sent Vallecano to its sixth straight defeat to leave the visitors on the brink of relegation. Rayo is level on 40 points with Real Zaragoza a place in the bottom three.
Athletic Bilbao 0, Getafe 0
Bilbao, Spain - Athletic Bilbao settled for a 0-0 draw against Getafe at the San Mames on Saturday as its Europa League hopes all but ended.
Bilbao is still within three points of a berth in 10th, but needs a win next week and help. Getafe is winless in four, but safe in 11th place entering the final weekend.
Osasuna 1, Real Sociedad 0
Navarra, Spain - Ibrahima Balde scored in the 12th minute as Osasuna defeated Real Sociedad, 1-0, on Saturday at the Reyno de Navarra to remain in the hunt for a Europa League place.
Osasuna, which snapped a four-game winless run, is eighth and two points back of Atletico Madrid for fifth place. Sociedad lost for the first time in eight matches, but secured safety despite the loss.
Real Zaragoza 2, Racing 1
Aragon, Spain - Lafita scored in the 77th minute as Real Zaragoza beat Racing, 2-1, on Saturday at the Estadio La Romareda for its fourth win in five matches to remain within reach of safety entering the final weekend in La Liga.
Zaragoza is level on points with Rayo Vallecano for the last relegation spot. Racing, which has already been relegated, saw its winless run reach 19 games.
Sporting Gijon 2, Real Betis 1
Gijon, Spain - Gaston Sangoy scored twice as Sporting Gijon downed Real Betis, 2-1, on Saturday at El Molinon to reach the final week of the La Liga season within reach of safety.
Gijon is 19th and three points behind both Rayo Vallecano and Real Zaragoza, but could survive with a win next week if both Vallecano and Zaragoza lose as it holds the edge in head-to-head matches. Betis is safe in 12th place.