Lionel Messi scored as Barcelona beat Atletico Madrid and regained the Primera title with a game to spare.
Real Madrid beat Espanyol but Barca’s win at Vicente Calderon means they go into next weekend’s final round with an unassailable four-point lead at the top of La Liga.
Messi claimed the crucial goal just past the hour mark, exchanging passes with Neymar on the edge of the area, slaloming into the box, past the lunging defenders, and finishing calmly.
The goal came only moments after Cristiano Ronaldo gave Madrid the lead but a mistake by Keylor Navas allowed Christian Stuani to equalise. Marcelo put Los Blancos back in front and Ronaldo added to his tally but Messi’s goal meant it didn’t matter.
Luis Suarez didn’t even make the bench for the Catalans after going off at half-time against Bayern Munich, while Atletico went with Antoine Griezmann and Fernando Torres in attack, Mario Mandzukic left among the substitutes.
Claudio Bravo was the first goalkeeper called into action, getting a strong hand to Gimenez’s near post header to bat the ball away.
Messi came to the party just after the 10-minute mark after fancy footwork from Andres Iniesta and Neymar saw the Argentine teed up for a shot, but it was straight at Jan Oblak.
Messi again tested Oblak, this time with a header from Dani Alves’ cross, but it too was easily fielded by the home goalkeeper.
Messi felt he should have had a penalty when his header was blocked by Juanfran’s arm and referee Undiano Mallenco further raised Catalan ire by deciding Diego Godin’s shirt pull on Alves was outside the penalty area.
It appeared Alves had been booked for diving but instead a free-kick was given, wide of the goal, and Messi clipped the crossbar with the set-piece.
Alves kept Oblak alert as half time approached with a long-range effort but the first 45 minutes ended without a goal.
Diego Godin, who scored the goal a year ago that sealed the title against Barca, sent a header over the crossbar as Atletico started the second half on the front foot.
A quick Atletico free kick gave Torres a sight of goal but the shot was dealt with by Bravo and did more damage to Javier Mascherano, who collided with his old Liverpool teammate as he tried to cover.
Barca, having rode out the Atletico storm, responded through Messi, the kind of goal he has scored throughout his Blaugrana career.
It was nearly two within a few minutes as Messi and Andres Iniesta combined to find Neymar, but he could only flick an effort wide.
That was at least closer than his next attempt – high over the bar after Messi slid in his unmarked Brazilian colleague as Barca broke.
Pedro gave Oblak concern with a left-footed effort but Atleti didn’t give up the game, Koke having a shot blocked and Guilherme Siqueira drew a save from Bravo in the final moments.
Messi nearly wrapped it up with a late free-kick but Oblak, not for the first time, was equal to it.
There was no equaliser as Barca held on to clinch the title, their 23rd, and perhaps the first leg of the treble, with the Copa del Rey and Champions League finals to come.
Atletico 0-1 Barcelona
Messi 65
Atletico Madrid: Oblak; Juanfran, Godín, Gimenez, Siqueira; Mario (Raul Garcia 68), Gabi, Koke, Arda (Mandzukic 72); Griezmann, Torres (Saul 79)
Barcelona: Bravo; Alves, Pique, Mascherano, Alba (Mathieu 80); Busquets, Iniesta (Xavi 82), Rakitic (Rafinha 86); Messi, Neymar, Pedro
Referee: Alberto Undiano Mallenco