Barcelona sealed their first La Liga title since 2018-19 with four games to go following an elegant win at the home of city rivals Espanyol.
Barca led 3-0 at half-time, with Robert Lewandowski scoring his 20th league goal of the season before 19-year-old Alejandro Balde doubled the advantage.
Lewandowski added the third before Jules Kounde’s header made it 4-0.
Espanyol reduced the deficit through Javier Puado and Joselu but remain struggling near the bottom of the table.
Barcelona have 85 points, 14 ahead of nearest rivals Real Madrid with 12 points to play.
It’s their first La Liga title since club legend Lionel Messi left in August 2021 and the first since Xavi was named manager in November 2021.
Meanwhile, Espanyol face a second relegation in four La Liga seasons after a ninth league defeat in 11 games.
They are four points from safety with four games to go.
Xavi delivers his first full season
The Barcelona players will have to wait to get their hands on the trophy, but they celebrated after the full-time whistle before hurriedly retreating to the dressing room after some Espanyol fans rushed onto the pitch.
Barca trailed Real Madrid by three points after losing 3-1 far from them on October 16, as they had a disappointing Champions League exit after losing three of their six group matches.
But Xavi, who won eight La Liga titles during a glittering 17-year career in Barca’s first team, delivered his first full season in charge.
It was a particularly emotional evening for captain Sergio Busquets, who confirmed he would be leaving Barcelona at the end of the season after 18 years at the club.
This is the 34-year-old’s ninth league title with Barca but the future looks bright for the team, with Balde and Kounde scoring their first La Liga goals in Barcelona colours.
Barcelona will move from their Camp Nou home next season while the stadium is redeveloped.
But fans will have the opportunity to celebrate the club’s first major trophy since 2020-21 in their last two home games – against Real Sociedad on Saturday and against Mallorca on May 28.