Atletico Madrid remain on course to win La Liga after a hard-fought 1-0 victory over Valencia on Sunday.
Raul Garcia's 18th goal of the season in all competitions made the difference for Diego Simeone's men, who need a further six points to guarantee the title.
Garcia scored in the 43rd minute with a header from Gabi's cross and the visitors to Mestalla managed to hold on despite Juanfran's late red card.
Barcelona remain four points behind the leaders, who they face on the final day of the season, after staging a fine comeback to beat Villarreal 3-2 on an emotional night at El Madrigal.
Both teams paid homage to former Barcelona coach Tito Vilanova, who tragically lost his fight with cancer on Friday.
Barca found themselves behind at the break after Cani's clever finish and Manuel Trigueros doubled Villarreal's lead early in the second half with a firm header.
The champions fought back fiercely, though, and own goals from Gabriel and Mateo Musacchio levelled the score before Lionel Messi completed the turnaround by finishing a flowing team move.
The match was soured by a banana being thrown at Barcelona defender Dani Alves during the second half.
The fight for the final UEFA Champions League spot looks to have been won by Athletic Bilbao after Ernesto Valverde's men defeated challengers Sevilla 3-1 at San Mames, moving six points clear of the Andalusians.
Sevilla rested several key players ahead of their Europa League semi-final second leg at Valencia on Thursday and the absences were noticeable as Athletic rarely looked particularly troubled.
Markel Susaeta scored directly from a corner in the fifth minute and Iker Muniain doubled the lead just after the break, sending the Basques well on their way to victory.
Sevilla full-back Diogo Figueiras received a second yellow card for arguing with officials in the 72nd minute and Ander Herrera scored Athletic's third a few moments later, before Kevin Gameiro struck a late consolation.
Almeria's chances of avoiding the drop received a boost in Sunday's early match as they beat nine-man Espanyol 2-1 in Barcelona.
Fran Velez and Suso grabbed the goals as the visitors came from behind to secure the win, but Christian Stuani's 48th-minute red card gave Almeria a helping hand, while Javi Lopez also received his marching orders in second-half stoppage time.