Real Madrid claimed a record 30th Spanish title after coming back from 1-0 down to beat Real Mallorca 3-1.
They finished on 76 points along with bitter rivals Barcelona, who won 5-1 against Gimnastic de Tarragona, but beat the Catalan giants on a better head-to-head record.
"To win we had to suffer. We always seem to have to suffer for our victories, but I'm very happy," said Real coach Fabio Capello.
The victory also sent David Beckham away to Los Angeles with a league championship medal although the former England skipper was substituted before the end of the game. This was Beckham's first trophy win at Real.
Real went unbeaten over their last 12 games of the season and, after lying third in mid-March, they clawed back a five-point advantage from both Barcelona and Sevilla.
It was a nail-biting finish. Real were behind in the 17th minute, and then stayed behind until the 68th minute, in the process losing out Ruud van Nistelrooy and David Beckham to injury and watching the scoreboard inform them about the trashing that fellow title chasers Barcelona were dishing out to Gimnastic.
Reyes, however, got the equaliser in the 68th minute, 3 minutes after coming in for injured Beckham.
Nine minutes from time, Real finally got their noses in front when the ball glanced off an unlucky Angelos Bassinas after Moya had pushed a Mahamadou Diarra header onto his team mate.
To cap Real's night to remember, Reyes scored a 3rd goal 2 minutes later.