Atletico Madrid will win La Liga for the first time since 2014 if they defeat Real Valladolid on the final matchday next weekend.
Diego Simeone's men looked like they had thrown away the title as, despite dominating throughout, Osasuna took a 75th minute lead on Sunday through Ante Budimir.
But two goals in the last eight minutes from Renan Lodi and Luis Suarez clinched a crucial three points.
That means that Atletico remain two points ahead of second-placed Real Madrid, who win 1-0 at Athletic Bilbao.
After a poor first half, Madrid were transformed after the break and won the match thanks to Nacho's tap-in from a Casemiro cross.
It will be a Madrid derby for the league title on the last day, with Barcelona falling out of the race.
The Blaugrana lost 2-1 at home to Celta Viga, despite taking the lead through Lionel Messi's header.
Santi Mina's double means it has been a miserable first season for coach Ronald Koeman.
Elsewhere, the race for Europa League qualification is as tight as ever as Real Sociedad in fifth place lead Real Betis and Villarreal beenath them by one point.
All three teams won on Sunday with Villarreal thrashing Champions League qualifiers Sevilla 4-0, Real Sociedad also putting four past Real Valladolid and Betis beating Huesca 1-0.
At the bottom of the table, Alaves and Getafe both won to preserve their La Liga status for another season.
This means there are four teams fighting against relegation on the final day, with all of Huesca, Elche, Valladolid and Eibar still not down.
LA LIGA STATISTICS:
La Liga: Player Stats, Team Stats, Fixtures, Results
READ MORE: European Super League: The timeline, the reaction, the consequences