Real Madrid ended a five-year La Liga title drought when they clinched their 33rd Spanish league triumph on the final day of the season on Sunday. A 2-0 win at Malaga left Real three points clear of Barcelona in second.
Real needed just a point to make sure of top spot and raced into the lead at the Rosaleda when Cristiano Ronaldo scored in the second minute. Karim Benzema sealed victory when he doubled Real's advantage early in the second half.
Real finished on 93 points after a sixth straight league win since going down 3-2 at home to Barca in last month's 'Clásico'.
"It was a very closely-fought league and we have been rewarded for all our consistency, hard work and sacrifice during the season," Real captain Sergio Ramos said in an interview with Spanish television.
Real boss Zinedine Zidane is the latest to win the Spanish league title as a coach and a player, following the likes of Bernd Schuster, Vicente del Bosque and Jorge Valdano.
Zidane also played for Italian club Juventus, who Real meet in the Champions League final in Cardiff on June 3. Juve secured their 33rd Serie A crown earlier on Sunday with a 3-0 win over Crotone.
Barcelona, chasing a third straight title and their fourth in five years, finished second on 90 points after coming from two goals down to beat Eibar 4-2 at home.
Lionel Messi had a busy night, scoring one penalty and missing another and grabbing Barca's fourth late on.
The Argentina captain was La Liga's, and Europe's, top marksman with 37 goals, eight more than team mate Luis Suarez in second. Ronaldo was third on 25.
"Madrid were just a bit better and are deserved champions," Barca captain Andres Iniesta told Spanish TV. "We didn't find the consistency you need to win the title."
While Real remain on course for a La Liga-Champions League double, Barca can still win the Copa del Rey when they face Alaves on May 27 in departing coach Luis Enrique's final game in charge.
Luis Enrique won the treble with Barca in his first season in 2014-15 and the double of La Liga and Copa del Rey last term.
This season, Barca delivered in the big La Liga games, winning at Real and Atletico Madrid, but crucially lost matches against weaker teams like Alaves, Deportivo La Coruna and Malaga.
Barca announced after the match they would name Luis Enrique's replacement on Monday May 29.
Earlier on Sunday, Atletico Madrid said farewell to their beloved Vicente Calderon stadium before they move to a new ground with a 3-1 win over Athletic Bilbao. Fan favorite Fernando Torres struck twice for his boyhood club.
Atletico finished third with 78 points, while Bilbao missed out on sixth and a qualifying round spot in next season's Europa League to Basque rivals Real Sociedad.
San Sebastian-based Sociedad snatched a 2-2 draw at Celta Vigo with an added time leveller from striker Juanmi.
Athletic are seventh but can still earn a place in the Europa League if Barcelona win the Cup. Sevilla were fourth and go into Champions League qualifying and Villarreal fifth, which earned them a Europa League group stage spot.