Real Madrid suffered a huge blow to their La Liga title hopes with a 2-1 defeat to Sevilla, their second defeat in four days.
Colombian striker Carlos Bacca struck twice on Wednesday to give the hosts a sixth consecutive league win after Cristiano Ronaldo had opened the scoring.
Atletico Madrid now lead Real Madrid by three points at the top of the table and have a better head-to-head record against Los Blancos after they beat Granada 1-0.
Barcelona moved into second place, a point behind Atletico, with a 3-0 win over Celta Vigo at the Camp Nou thanks to a double from Neymar.
But it was a bittersweet night for the Catalans as goalkeeper Victor Valdes may have played his last game for the club after suffering cruciate ligament damage that will rule him out of the World Cup.
Madrid were looking to react from a first defeat in 32 games on Sunday as they lost a thrilling El Clasico 4-3 to Barcelona and they started brightly with Gareth Bale and Karim Benzema going close inside the first 10 minutes.
Ronaldo did open the scoring 14 minutes in as his free-kick cannoned off Ivan Rakitic to leave Sevilla goalkeeper Beto helpless.
The lead lasted only four minutes as Bacca finished off a fine move by converting Jose Antonio Reyes’ pass from close range.
Reyes could then have put his side in front as Bacca returned the favour, but the former Arsenal man dragged his shot just wide.
Ronaldo was somehow denied his second of the night moments later as this time he lifted the ball over Beto, but the ball struck the inside of the post and rolled across the line before being cleared by a Sevilla defender.
Madrid continued to press after the break, but were struck on the counterattack 18 minutes from time when wonderful play by Rakitic took him past Pepe and the Croatian played in Bacca to fire home his second of the night.
Beto was called into action once more to deny Ronaldo moments later, but for all their possession Madrid failed to carve out another clear opening and their hopes of salvaging anything from the game disappeared when Bale’s free-kick flew over in the final minute.
Barcelona now have the destiny of the title in their own hands as they host Atletico on the final day of the season.
However, their joy was tempered by Valdes’ injury.
Valdes collapsed to the ground holding his right knee whilst making a routine save and was in tears as he was stretchered from the field.
“Victor Valdes has ruptured the anterior cruciate ligament in his right knee that will require surgery,” the club confirmed via its official Twitter account.
“It is very bad luck and a very costly injury, too much for a game that means just three points,” Barca sporting director Andoni Zubizarreta told Barca TV.
And midfielder Andres Iniesta admitted it was difficult for the Barca players to concentrate on the game after the injury.
“It was an uncomfortable situation on the pitch. The players weren’t the same, the fans weren’t the same. Everything seemed a bit strange.
“The important thing now is that he recovers well.”
Neymar had already put the hosts in front before Valdes’ injury as he tapped home Alexis Sanchez’s cross.
Lionel Messi continued his fine run of form to make it 2-0 from a wonderful Iniesta pass on the half hour before Neymar rounded off the scoring 23 minutes from time.
It was a quieter evening at the Vicente Calderon as Atletico continued to demonstrate their title credentials with a hard-fought 1-0 win over Granada.
In a game short on clear-cut chances, it was once again Diego Costa who made the difference for Diego Simeone’s men as he headed home Jose Sosa’s corner 27 minutes from time to register his 32nd goal of the season.