Lionel Messi scored as Barcelona beat Atletico Madrid 1-0 to regain the La Liga title with a game to spare.
Barcelona went into the game looking for a win at Atlético Madrid, or a better result than Real Madrid who were away to Espanyol.
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 scored the crucial goal just past the hour mark to render Madrid’s 4-1 away win and Christiano Ronaldo’s hat trick useless, although he could at least beat Messi to the top of Spain’s scoring charts.
It was Messi’s 41st league goal of the season, Barcelona’s 13th win in 14 La Liga matches and sees the club win their 23rd Spanish title.
FC Barcelona are on course to win the treble this season and the first of those three titles have been secured.
FC Barcelona progressed to the final of the UEFA Champions League (UCL) despite losing to German Champions-elect, Bayern Munich on Tuesday night.
Italian giants, Juventus, await them in the UEFA Champions League final on June 6 after defeating Real Madrid 3-2 on aggregate at the semi-final stage of the European football elite club competition.
Barcelona also play Athletic Bilbao in the Copa del Rey final on May 30.
Sergio Busquets has urged his team mates to go for the remaining two titles. Speaking after the victory at Vicente Calderon, he said “It (La Liga) is the most important, it’s all year, you play everyone home and away. The Champions League is the most prestigious but this is more important.
“You can’t win every year. The cycle isn’t over. We’re a very young team. There’s a lot of players here from the Pep era. Now we have one trophy, we’re missing two and there are two games. It’s an historic season.”