Atletico Madrid took a giant step towards the La Liga title in dramatic circumstances by fighting their way back to beat Osasuna 2-1 at home on Sunday thanks to a late strike from Luis Suarez.
Atletico dominated the game and hit the woodwork twice in the first half before having two goals ruled out for offside but fell behind in the 76th minute when a bullet header from Ante Budimir crossed the line before Jan Oblak could punch it away.
Atletico hit back with an emphatic finish from substitute Renan Lodi in the 82nd minute while top scorer Suarez completed the comeback by firing home from inside the area in the 88th, netting for the first time in six matches.
Diego Simeone's side nearly conceded an equaliser deep into added time though when Chimy Avila caught sight of goal but Oblak got across to parry before grabbing the ball with both hands.
The victory took Atletico on to 83 points after 37 games, two ahead of second-placed Real Madrid who won 1-0 at Athletic Bilbao.
Atletico visit relegation-fighting Real Valladolid on the final day of the season next Sunday knowing victory will deliver them a first title since 2014. Real, meanwhile, will host Villarreal.
"It was a moment of pure happiness," Suarez said of his winner.
"We didn't deserve to suffer like we did, it was one of our best first-half performances of the season but we missed so many chances, me more than anyone. But to win La Liga you have to suffer and that's what we had to do today."
Suarez also admitted his side had been trying to keep up with events in Bilbao and that their nerves nearly got the better of them.
"In the water break we heard Real were winning and sometimes the tension gets the better of you but we kept our patience and kept on creating chances," he added.
"Now we have to win at Valladolid in the most important game of the season."
Atletico knew before kick off they would clinch the title with a victory if neighbours Real failed to win in Bilbao and several thousand fans flocked to the Wanda Metropolitano even though they were not allowed in due to coronavirus restrictions.
As they had done in Wednesday's 2-1 win over Real Sociedad, Atletico came flying out of the blocks in search of a goal.
Real remain in La Liga fight thanks to Nacho strike
Real Madrid ensured the La Liga title race will go down to the final weekend as they beat Athletic Bilbao 1-0 at San Mames on Sunday thanks to a second-half goal from defender Nacho Fernandez.
The result sees second-placed Real move onto 81 points, two behind city rivals Atletico Madrid, who beat Osasuna 2-1 on Sunday thanks to two late goals.
In a first half shorn of clear-cut chances, Real were adamant they should have had a penalty when Alvaro Odriozola's cross hit Jon Morcillo's arm, however referee Antonio Mateu Lahoz waved away the protests.
Bilbao almost opened the scoring on the stroke of halftime, however Alex Berenguer's free kick bounced just wide of Thibaut Courtois's far post.
Casemiro had a header bounce back off the crossbar shortly after the restart, however the Brazilian midfielder then teed up defender Nacho from close range to give Zinedine Zidane's side a priceless three points.
Substitute Raul Garcia was sent off late on for the hosts for what appeared to be something he said to the assistant referee.
"Obviously we wanted to win, and for Atleti to drop points, but there's a long way to go still," Nacho said.
"They came back to win at the death and that shows things aren't easy. We just need to concentrate on ourselves and see how it goes next time out (against Villarreal next Sunday).
"You can see how tough it was for them to win. In the game of football anything can happen, we need to fight until the last, that's our job.
"It's a tough place to come and win. Bilbao give up few chances, but we were great in defence. It was more difficult up top, but we were compact and we got the three points which is all that matters."
Barca title hopes ended by Celta defeat
Barcelona saw their hopes of winning La Liga extinguished as they were beaten 2-1 at home by Celta Vigo on Sunday.
Barca were dominant in the first half and deservedly took the lead through Lionel Messi after 27 minutes in what could be the Argentine's final game at the Camp Nou given his unresolved contractual situation.
Messi expertly headed Sergio Busquet's precise cross past Ivan Villar to make it 30 league goals for the season on 27 minutes.
"We hope that won't be his last game here at the Camp Nou, but it's a decision he needs to make," defender Jordi Alba said.
"We were really good in the first half, they didn't really create much and took their one chance when they got it.
"We had the game under control but in the second half just lost our heads a bit. They play really good football, they made it difficult for us and their second goal is unlucky for us."
Indeed, Celta equalised against the run of play 11 minutes later as Santi Mina fired in from the edge of the box following a pacey counter-attack to stun the hosts.
Defender Ronald Araujo went close with a header after the restart as Barca tried in vain to retake the lead.
However, they found themselves up against it when Clement Lenglet was dismissed with six minutes to play and ultimately paid the price for the Frenchman's rash decision making.
With just one minute of normal time left, Mina netted his second of the game to condemn the Catalans to at best a third-placed finish in Ronald Koeman's first season in charge.
Barca are third on 76 points, four behind Real Madrid in second with one game remaining and two ahead of Sevilla in fourth.
Atletico's first clear chance fell to Suarez but the Uruguayan scuffed his shot inside the area and Herrera saved well. Suarez then wasted an even more glaring effort, hitting the post from only a few metres out with Herrera beaten.
Saul Niguez then also hit the post shortly before halftime with a long range effort.
Atletico managed to find the net in the second half when Stefan Savic knocked in a free kick but the goal was ruled out for offside while Carrasco also netted a few minutes later only to have his effort chalked off.
The title looked to be slipping from Atletico's fingers when Croatian forward Budimir beat Oblak, just as Real took the lead in Bilbao.
But Simeone's side responded perfectly with two goals in the space of six minutes to stay in charge of their own destiny.
"We had a lot of chances but we weren't clinical until they went ahead and it was only then when we responded," said Simeone.
"When we had the most chances we had least composure and when we had only a couple opportunities left that was when we were most clinical."