Barcelona sealed their 24th La Liga title as Luis Suarez took his tally for the season to 59 goals with a hat-trick in a 3-0 win at Granada to hold off Real Madrid's late-season surge.
Real registered their 12th consecutive La Liga win, 2-0 at Deportivo La Coruna thanks to Cristiano Ronaldo's double, but finished a point behind their bitter rivals.
Suarez's treble also sees him become the first player in seven years other than Ronaldo and Barca teammate Lionel Messi to win the Pichichi award for La Liga's top goalscorer with 40.
Barca had seemed set to cruise to the title until a run of three consecutive defeats for the first time in 13 years last month.
However, they bounced back like champions as, inspired by Suarez's 14 goals, they scored 24 times without reply in the last five games to win the title.
"We played very well over the course of the season. We were top for many weeks and the most consistent team wins the title," said Barca boss Luis Enrique.
"We have won six of the last eight titles, which shows the club has a winning mentality. We must value each title win because each one is very difficult."
Barca were put under pressure early on as Ronaldo struck after just seven minutes to put Madrid in front in La Coruna.
Gerard Pique was twice denied by Andres Fernandez from corners, whilst the Granada goalkeeper also tipped over Messi's driven effort from the edge of the area.
Barca's nerves were settled by a brilliant team move on 22 minutes as Neymar freed Jordi Alba down the left and his low cross was turned into an empty net by Suarez at the back post.
Suarez then doubled Barca's advantage when he nipped in ahead of Fernandez to head in Dani Alves's cross at the near post.
Fernandez made excellent saves from a Messi free-kick that was arrowing towards the top corner and Neymar to keep Granada in the game after the break.
And the Andalusians had the chance to set up a nervy finish but former Barca winger Isaac Cuenca's shot was beaten away by Marc-Andre ter Stegen.
However, fittingly Suarez sealed a stunning season when he completed his hat-trick from Neymar's unselfish square pass.
"Six leagues from the last eight speaks of the cycle of success we continue to maintain and have to try to extend as long as possible," added Barca captain Andres Iniesta.
Madrid's record 12-game winning streak to end the season wasn't enough to overcome the 12-point deficit they faced to Barca back in March.
"I am very proud of the players and what we have done," said Madrid boss Zinedine Zidane.
"We never gave up and we fought until the end."
However, victory secured second place ahead of Champions League final opponents Atletico Madrid, whilst Ronaldo moved past the 50 goal mark for the sixth consecutive season.
The three-time World Player of the Year opened the scoring as he swept home Karim Benzema's mishit effort at the back post.
Ronaldo's second was slightly fortuitous as his header was deflected past the helpless Stipe Pletikosa by Pedro Mosquera.
However, the Portuguese could have had four before he was replaced at half-time with one eye on the Champions League final on May 28 as he also hit the post and the crossbar before the break.
Zidane also withdrew Gareth Bale 15 minutes from time to keep the Welshman fresh as the visitors played out the second-half in the knowledge Barca were in command in Granada.