Real Madrid have been crowned La Liga champions for a record-extending 36th time after Barcelona went down to Girona. (More Football News)
Madrid beat Cadiz 3-0 earlier on Saturday, but Carlo Ancelotti's team could still have been caught by Barca.
Yet the Blaugrana's slim hopes were ended when they lost 4-2 to Girona.
That ensured Los Blancos' lead at the top, with four games remaining, is unassailable.
Madrid have won 27 of their 34 league matches so far this season, losing just once.
Ancelotti's focus will now turn to the Champions League, with Madrid to host Bayern Munich in the second leg of their semi-final on Wednesday.
Vinicius Junior's double secured a 2-2 draw in the first leg in Munich.