Needing just one point to clinch the trophy, Madrid struck twice through the Brazilian in the first half at the Santiago Bernabeu before goals from Marco Asensio and Karim Benzema.
Madrid moved 17 points clear of second-placed Sevilla with four matches to play. Barcelona have a game in hand but are 18 points adrift.
🎶 The winner takes it all…🎶 3⃣5⃣✖🏆 @realmadriden are the club with the most #LaLigaSantander title wins in… https://t.co/4Lf9IEr0z6
— LaLiga English (@LaLigaEN) 1651335559000
Given they have been top since November, there was no surprise about Madrid winning a league they have dominated for months, but dips in form from Barcelona and Sevilla offered the chance for an earlier coronation than expected.
With La Liga wrapped up, Madrid can now turn their full attention to the second leg of their semi-final at home to Manchester City on Wednesday, when they will need to overturn a 4-3 loss from the opening game last week to advance to another European final.
Madrid coach Carlo Ancelotti rested Benzema and Vinicius Junior from the start for the visit of Espanyol, and Rodrygo seized his chance with two goals late in the first half.
3️⃣5️⃣ #CAMPEON35 https://t.co/zuBBJRPVT1
— Real Madrid C.F. 🇬🇧🇺🇸 (@realmadriden) 1651337032000
He combined with compatriot Marcelo to put Madrid ahead on 33 minutes as he steered into the far corner for only his second league goal this campaign.
Mariano Diaz, handed a rare start in attack, then won the ball back deep in Espanyol territory and Rodrygo rolled in a second with a clinical finish past goalkeeper Diego Lopez.
Eduardo Camavinga played in Asensio to slam in a third for Madrid on the counter on 55 minutes, with Luka Modric then making way for Toni Kroos and Benzema replacing Casemiro on the hour.
Benzema notched his 42nd goal in as many games this season across all competitions to seal a runaway triumph for Madrid, as Ancelotti became the first coach to win all five major European league titles.