Madrid: Atletico Madrid's title challenge suffered a huge blow on Sunday night when they were beaten 2-1 away to Athletic Club Bilbao.
Although Atletico are still two points clear of Real Madrid and FC Barcelona, Barca will go top of the table if they win their game in hand against Granada on Thursday after they won away to Villarreal.
Athletic Club were the best side in the first half and deservedly took the lead from Alex Berenguer's header after just eight minutes.
Atletico improved after the break and pushed the home side back into their own half, with coach Diego Simeone bringing Joao Felix and Luis Suarez into the game, but it was not until 13 minutes from time that Stefan Savic leveled following a corner kick.
However, the home side were able to recover after conceding the equalizer and Inigo Martinez powered home the winning goal from another corner four minutes from time.
FC Barcelona kept up their title challenge and moved two points behind Atletico and level on points with Real Madrid thanks to a 2-1 win away to Villarreal.
All of the goals came in the first half of a hugely entertaining match, with Samuel Chukwueze putting Villarreal ahead from a tight angle in the 26th minute only for Antoine Griezmann to turn the score around in just seven minutes.
The Frenchman put Barca level just two minutes after Chukwueze's goal after latching onto Oscar Mingueza's pass and dinking the ball over Sergio Asenjo in the Villarreal goal.
He then put Barca in front in the 35th minute after latching onto a dreadful backpass and slotting the ball past the keeper.
Barca's task was made easier when Manu Trigueros was sent off for a studs-up challenge on Leo Messi in the 65th minute, but Villarreal never gave up in their attempts to find an equalizing goal.
Sevilla continue their title challenge and are now just three points behind Atletico after a 2-1 win at home to Granada, which gives Julen Lopetegui's side seven wins from their last eight games.
Ivan Rakitic' put Sevilla ahead from the penalty spot in the 16th minute and Lucas Ocampos doubled the lead from 10 yards out in the 53rd minute before Roberto Soldado scored a last-minute consolation for Granada.
On Saturday, Real Madrid also dropped two points in the title race, when they were held to a 0-0 draw at home to Betis on Saturday night.
There were few chances in the game, although Betis' Claudio Bravo was the busier of the two keepers, saving from Rodrygo, Luka Modric and Karim Benzema, while at the other end, Thibaut Courtois produced a fine stop to deny Betis forward, Borja Iglesias.
Iago Aspas and Jeison Murillo scored for Celta in their 2-1 win at home to Osasuna in a game between two sides sitting comfortably in mid-table.
Lucas Boye's 32nd-minute goal gave Elche three vital points in their battle against relegation with a 1-0 win at home to Levante, who have lost five of their last six games,
Elche climb out of the bottom three at the expense of Valladolid, who were held to a 1-1 draw at home to Cadiz. Oscar Plano put Valladolid ahead after 14 minutes, but in the second half Cadiz improved and Juan Cala robbed Valladolid of two vital points with his 64th-minute equalizer.
Huesca remain in the bottom three after a 2-0 defeat at home to Getafe, who take a big step away from the danger zone with goals from Enes Unal in the 22nd and 52nd minute.
Alaves were minutes away from a third win in four games under new coach Javier Calleja after John Guidetti put them ahead in the 83rd minute away to Valencia, only for Jose Luis Gaya to score a last-minute equalizer for close range for the home side, just two minutes after Alaves substitute Javi Lopez had been sent off.