The Catalan giants clinched their 27th Spanish league title at the home of their neighbours, with scenes turning ugly full-time as cheering Barcelona players were chased off the pitch by pitch invaders.
Robert Lewandowski scored twice for Barcelona, alongside goals from Alejandro Balde and Jules Kounde, while Javi Puado and Joselu equalized late on for the home side.
Barcelona have had a troubled time on and off the pitch in recent years, but their triumph marks a significant improvement, with manager Xavi Hernandez picking up his first major trophy since taking over in November 2021.
Chairman Joan Laporta’s rebuilding was widely criticized last summer in light of the club’s dangerous financial situation.
Early elimination from the Champions League came as a major blow, but the club lifted the Spanish Super Cup in January before sealing La Liga glory with four games to spare.
“It’s a wonderful feeling, (of) a job well done,” Xavi told Movistar.
“Ten months of work and sacrifice. The fans and the club deserve it, it gives us stability and the certainty that things are going well. We sealed La Liga with a fantastic game, we were brilliant.”
Xavi held no surprises with his formation and the Barcelona first team took to the pitch with one goal firmly in mind, the end finally in sight.
They summoned an electric display, one of their best this season, to seal their triumph and leave their city rivals in 19th place, four points adrift of safety with four games remaining.
Barcelona broke the deadlock after 11 minutes with a well-crafted goal, finished by Lewandowski for his 20th of the season in La Liga.
Ronald Araujo played a perfect long pass to left-back Balde, who whipped past Espanyol defender Oscar Gil and crossed for Lewandowski who drove home from close range.
Gil was beaten again by Balde for a double, this time scored by the young left-back after Pedri sprinted down the backline and collected an inviting cross at the far post.
It was Balde’s first goal for Barcelona, capping a fantastic breakthrough season for the youngster, as he phased out veteran defender Jordi Alba.
Espanyol goalkeeper Fernando Pacheco deflected a shot from Lewandowski as Barcelona charged forward, with the home side fighting not to be swept away.
It worked for a while, but the visitors grabbed third before the break when Raphinha put the ball on a plate for Lewandowski to roll home.
The arrival of the Polish striker from Bayern Munich was a key part of last summer’s rebuilding and, despite a decline in the second half of the season, he repaid the Catalans in goals.
Barcelona goalkeeper Marc-Andre ter Stegen made a sublime save to dismiss former teammate Martin Braithwaite from close range in stoppage time late in the first period.
Kounde headed in the fourth goal early in the second half from Frenkie de Jong’s perfect chipping pass as the Espanyol defense crumbled once more.
Some Espanyol fans headed for early exits, while others called for the board’s resignation, including making a nasty chant at the club’s Chinese owners.
Ter Stegen denied Puado when he scored on goal, determined to earn his 26th top-flight clean sheet of the season, equaling the La Liga record.
However, moments later, the Espanyol striker found himself in goal once more and this time scored with a sublime lob – cold consolation in the face of Espanyol defeat and Barcelona glory.
Joselu rallied another goal in stoppage time, but it was too little, too late.
Xavi’s team celebrated full-time, angering Espanyol fans, who invaded the pitch, with Barcelona players throwing themselves into the tunnel to escape.
“Partying is normal, but I know we’re not at home and can’t be disrespectful,” added Xavi.
“I know it’s hard to control, but I told them the best thing would be to get in now.”