Two goals from Cristiano Ronaldo set Real Madrid on their way to a comprehensive 4-0 victory over Osasuna which moved them back up into second place in the Primera Division.
The Portugal international struck after six minutes and added another early in the second half, with further goals from Sergio Ramos and Daniel Carvajal securing Real's fourth win in a row, which lifts them three points behind leaders and city rivals Atletico Madrid.
Osasuna, however, have won just one of their last 10 league matches and sit three points above the bottom three having played more games than the teams below them.
Real Sociedad booked their place in the Europa League for next season as they rubbed in the misery for Real Betis, who learned of their relegation before kick-off in Seville.
Getafe's 1-0 win over Malaga earlier in the afternoon had sealed their fate, leaving this match to be played out in a subdued atmosphere at the Estadio Manuel Ruiz de Lopera as Betis fell to a 23rd defeat of a miserable season, losing 1-0.
Sociedad were hardly at their best, but did enough to take advantage thanks to Carlos Vela's penalty early in the second half. The win puts them 12 points clear of Valencia, who have four games remaining but lose out to Sociedad on head-to-head record.
Getafe's victory came despite them having Ciprian Marica sent off in the first half as they went on to claim their first home win in five months.
The Romanian striker provided the assist for the only goal of the game, scored by Adrian Colunga, but then foolishly picked up a second caution before the break.
However, the visitors were unable to make the most of having an extra man and lost that advantage when their defender Marcos Angeleri was sent off with a quarter of an hour left.
Rayo Vallecano continued their march up the Primera Division table as a second-half blitz earned them a 3-0 win at 10-man Granada.
The hosts had Yacine Brahimi sent off soon after the break for a second yellow card and moments later Atletico Madrid loanee Saul Niguez broke the deadlock with a 30-yard strike.
Rayo's top scorer Joaquin Larrivey doubled the lead five minutes later to put Rayo on their way a seventh win in 10 games and substitute Seba Fernandez added a third late on, netting for the first time in more than two years.