The Primera Division title race will go to the final day after Barcelona and Real Madrid both won on Sunday, but Atletico Madrid's challenge is over.
The penultimate round of fixtures began with Barca and Atletico level on 85 points at the top with Real just a point back, but Luis Enrique's men could have clinched the championship if results had gone their way due to their superior head-to-head record over both capital clubs this term.
Barca did their job, thrashing city rivals Espanyol 5-0, but Real Madrid ensured the champagne would remain on ice at the Nou Camp by beating Valencia 3-2 to record their 11th successive La Liga win.
That means defending champions Barca will go into their final match at Granada still boasting a one-point lead over bitter rivals Real, who travel to Deportivo La Coruna.
However, Atletico - who will face Real in the Champions League final later this month - are now out of it after they were surprisingly beaten 2-1 at relegated Levante.
Fernando Torres gave Atletico an early lead but Victor's equaliser and Guiseppe Rossi's late breakaway goal at the Ciutat de Valencia means 2014 champions Atletico now cannot overhaul Barca.
For Barca, one more win will now guarantee them a sixth title in eight years following their drubbing of Espanyol.
Luis Suarez has scored 56 goals in 51 games for Barcelona this season.
FIFTY-SIX! pic.twitter.com/Bd5jReReMk— Squawka Football (@Squawka) May 8, 2016
Lionel Messi's eighth-minute free-kick was all that separated the teams at the break, but a brace from Luis Suarez plus strikes from Rafinha and Neymar in the second half ensured Barca of an eighth successive derby win at the Nou Camp - with a combined 26-2 scoreline.
Real also picked up three points, but had a much tougher time of it against Valencia. Two Cristiano Ronaldo goals either side of a Karim Benzema goal earned Zinedine Zidane's men the win, but they were made to sweat by strikes from Rodrigo - who was sent off late on - and Andre Gomes.