Barcelona moved 11 points clear at the top of La Liga after a 2-0 win over Athletic Bilbao, while second-placed Atletico Madrid slipped in a 2-1 defeat to Villarreal.
Here's a look at all Sunday's La Liga results, followed by the updated table and a recap of the best of the action.
Sunday's La Liga Results
Leganes 2-1 Sevilla
Barcelona 2-0 Athletic Bilbao
Celta Vigo 0-0 Malaga
Villarreal 2-1 Atletico Madrid
Real Madrid 6-3 Girona
La Liga Standings (Goal Difference)
1. Barcelona 75 (61)
2. Atletico Madrid 64 (35)
3. Real Madrid 60 (40)
4. Valencia 59 (26)
5. Villarreal 47 (7)
6. Sevilla 45 (-7)
7. Girona 43 (1)
8. Real Betis 43 (-4)
9. Getafe 39 (8)
10. Celta Vigo 39 (3)
11. Eibar 39 (-7)
12. Leganes 36 (-10)
13. Athletic Bilbao 35 (-4)
14. Espanyol 35 (-11)
15. Real Sociedad 33 (-1)
16. Alaves 31 (-19)
17. Levate 27 (-18)
18. Las Palmas 21 (-37)
19. Deportivo La Coruna 20 (-34)
20. Malaga 14 (-29)
Barcelona put in a superb first-half performance at the Camp Nou against Athletic and took just eight minutes to open the scoring. Jordi Alba raced down the left and crossed for Paco Alcacer, in for the suspended Luis Suarez, to fire home.
Opta showed just how impressive Alba has been as an attacking force this season:
The hosts continued to dominate and carved Athletic open at will with their precise, quick passing. The crossbar denied Philippe Coutinho before Lionel Messi doubled their lead on the half-hour mark.
Ousmane Dembele squared the ball for the Argentinian on the edge of the box, and Messi fired a low shot past goalkeeper Kepa Arrizabalaga and into the corner.
Barcelona kept on attacking with the woodwork again denying Coutinho before Paulinho also saw an effort come back off the frame of the goal. Sports writer Andy West explained how Barcelona were so dominant:
With the game effectively wrapped up at half-time, Barcelona eased off after the break. Manager Ernesto Valverde took the opportunity to make changes and brought on Andres Iniesta. The Camp Nou crowd made their feelings about his future known, per ESPN FC's Samuel Marsden:
Barcelona comfortably saw out the second period to make it 36 league wins in a row without defeat, per Opta:
Valverde's side are overwhelming favourites to clinch the league title, and their hopes were given a further boost as Atletico threw away a 1-0 lead to lose 2-1 at Villarreal.
Antoine Griezmann put the visitors ahead from the penalty spot, although there was some debate about the award of the spot-kick. ESPN FC's Dermot Corrigan offered a neat summary of the incident:
The France international converted the penalty to give Atletico the lead, and they looked set to claim all three points. However, manager Diego Simeone opted to replace Griezmann with nine minutes to go and was made to pay for his substitution.
Villarreal levelled almost immediately through substitute Enes Unal's header, and he then slotted home Daniele Bonera's cross in stoppage time to make it 2-1. The goal provoked an angry end to the match with a flurry of yellow cards and substitute Vitolo sent off.
Kay Murray at BeIN Sports said Atletico were punished for taking Griezmann off:
It was a poor result for Atletico, who should have seen the game out but now fall further behind Barcelona with just nine games left to play.
Real Madrid closed to just four points behind Atletico in third place after they beat Girona 6-3. It was Girona's first-ever visit to the Santiago Bernabeu, but they were well-beaten with Ronaldo continuing the brilliant form he has shown in 2018.
The Portugal star took just 11 minutes to open the scoring, as Toni Kroos picked him out from a Marcelo corner and Ronaldo slammed a shot past goalkeeper Yassine Bounou.
However, Girona were causing Madrid problems when they attacked and levelled the match through top scorer Cristhian Stuani. A free-kick from Pere Pons found the striker, and he headed past Keylor Navas to make it 1-1. Goal's Ben Hayward was not too impressed with the defending on show:
Ronaldo then fired Madrid back in front at the start of the second half as he raced on to a cute pass from Karim Benzema and beat the goalkeeper.
The forward then turned provider as he teed up Lucas Vazquez for Madrid's third just before the hour mark. Again Benzema was involved, finding Ronaldo in the box and he laid the ball off for the incoming Vazquez to fire home.
The goal effectively sealed the win, but Madrid were hungry for more and duly added a fourth. Bounou parried a Benzema shot, which allowed Ronaldo to poke home from close range for his 50th career hat-trick:
Stuani headed home his second of the game almost immediately before the two teams traded late goals. Substitute Gareth Bale beat the offside trap and Bounou for Madrid's fifth before Juanpe headed a corner past Navas and Ronaldo had the last word.
Earlier in the day, Sevilla were brought back down to earth, as they followed their shock UEFA Champions League victory over Manchester United with defeat at Leganes.
Unai Bustinza put the hosts ahead, and Javi Eraso doubled their lead before the hosts' afternoon got even worse, as Pablo Sarabia picked up his second yellow card and was sent off.
Miguel Layun did manage to pull one back in stoppage time for Sevilla, but it's another poor league result that effectively ends their hopes of a top-four finish, as they slip into sixth now 14 points off Valencia in fourth.