Barcelona were beaten at Camp Nou in La Liga for the first time this season as their title hopes went out with a 2-1 defeat to Osasuna. Roberto Torres struck the winner in stoppage time for the 10-man visitors, who had Enric Gallego sent off late on for an elbow on Clement Lenglet.
A Lionel Messi free kick had earlier cancelled out Jose Arnaiz's opener, but it wasn't enough to stop Barca losing at home in La Liga for the first time since Quique Setien's Real Betis beat them in November 2018.
Frenkie de Jong made his first appearance since June after returning from a calf injury. That should be viewed as good news ahead of the return of the Champions League next month.
After back-to-back titles, Barca's reign in Spain is over for now. Real Madrid's 2-1 win against Villarreal meant Zinedine Zidane's side were crowned La Liga champions on Thursday, winning the league for the first time since 2017 with a game to spare.
Madrid's success leaves Barca with a lot of thinking to do. While Los Blancos have won all 10 games since the restart, Barca have drawn three and now lost one. They have an aging spine, and against Osasuna there was a lack of intensity. Playing this way, as Messi said after the game, beating Napoli in the Champions League at Camp Nou next month is far from a given.
Messi also said that the Osasuna loss was a reflection of the season and, after the Champions League, it's hard to escape the feeling a massive clear-out is needed.
Manager rating out of 10
4 -- Setien finally decided to rotate his squad, bringing in Martin Braithwaite and Junior Firpo, among others, but it was too little too late. His substitutions were obvious, bringing on the veterans, and it's hard to see where he has made his mark since his January appointment.
Player ratings (1-10; 10 = best, players introduced after 70 minutes get no rating)
GK Marc-Andre ter Stegen, 6 -- Made a smart early save from Arnaiz and could do little about either of the goals.
DF Nelson Semedo, 5 -- Did some good work covering for his teammates but will be singled out for allowing the first goal to come from his flank.
DF Gerard Pique, 6 -- Looked to drive the team on in the first half but drifted after the break as the title slipped away. Also was booked, so he will be suspended for Alaves on Sunday.
DF Clement Lenglet, 6 -- Assured on the ball and can't really be blamed for Osasuna's late winner as Barca pushed for a winner of their own.
DF Junior Firpo, 5 -- Didn't deliver, but it's also unfair to expect him to when he's used so sparingly.
MF Ivan Rakitic, 5 -- Might have played his last league game for Barca. Picked up a yellow card that means he will miss the final game of the season, with his future beyond that uncertain.
MF Sergi Roberto, 6 -- His evening followed a similar pattern: started in midfield before moving to right-back. Did OK.
MF Riqui Puig, 6 -- Looks to give Barca what they need, but it didn't completely come off for him here. What he needs now is games and a show of confidence to really take his development to the next level.
FW Lionel Messi, 6 -- Cut a frustrated figure at times. All his best chances came from free kicks. Hit the bar in the first half before finally scoring his 23rd goal of the season after the break.
FW Martin Braithwaite, 5 -- Given a rare start as the central striker but struggled to have an impact against Osasuna's deep block. Had a strike ruled out for offside just before coming off on the hour.
FW Ansu Fati, 6 -- Tried hard but, like Braithwaite, faced a difficult challenge against a well-drilled Osasuna side.
MF Arturo Vidal, 5 -- Unable to affect the game with his chaos as Setien would have hoped.
FW Luis Suarez, 5 -- Had a goal ruled out for offside after replacing Braithwaite for the final half an hour.
MF Sergio Busquets, N/R -- Came on for Rakitic with Barca chasing a winner.
DF Jordi Alba, N/R -- Heavily involved despite only being on for a short while. Created chances and even found time to try his own luck from 30 yards.