Ferran Torres's strike helped Barcelona emerge from a recent slump to earn a 1-0 win over Atletico Madrid on Sunday in La Liga, taking a big step towards clinching their first title since 2019.
Sevilla, fresh from thrashing Manchester United in the Europa League, snatched a late winner to beat high-flying Villarreal 2-1, with Youssef En-Nesyri heading home in stoppage time.
After two consecutive goalless draws for Barca, second-place Real Madrid cut into their lead by beating Celta Vigo on Saturday, but Torres's low first-half finish restored their advantage to 11 points with eight games remaining.
Diego Simeone's Atletico, third, arrived as Spain's most in-form side but Torres stroked home from the edge of the box in the 44th minute to secure victory for Xavi Hernandez's side.
Both sides had clear chances to score in the second half but Barcelona held on to their lead to inflict Atletico's first defeat since these sides met in January at the Metropolitano.
The hosts recorded a 23rd clean sheet of the season in La Liga, with Marc-Andre ter Stegen making a fine save to deny Antoine Griezmann an equaliser.
"I've always said Marc is among the top three goalkeepers in the world, and for our game, I think he's the best," Xavi told reporters.
"He's a guarantee, our defence too – defensive work is fundamental and Marc has been decisive at various moments."
Xavi brought Frenkie de Jong back into the starting line-up after injury, but Pedri had to make do with a seat on the bench after his two-month absence.
Griezmann almost struck immediately against his former side, rattling the crossbar with a fine effort from distance within the first minute.
Barcelona broke the deadlock just before the interval, with Raphinha controlling a long ball and crossing to Torres on the edge of the box, who swept the ball home past Jan Oblak.
It was Barcelona's first goal since Torres' strike against Elche on April 1, ending a painful run of three games without finding the net.
Barcelona brought on Pedri to roars from the Camp Nou in the second half.
Gavi and Raphinha both mishit efforts from point-blank range in the space of a few seconds that should have put the game out of reach, before Ter Stegen palmed away Griezmann's cunning flick.
"It's a fact that being decisive makes you champions – if you're strong in both boxes, you have a much bigger chance of being champions," said Simeone.
Barcelona had another golden opportunity to score a second but Robert Lewandowski selfishly shot wide from distance as he and Raphinha ran through on goal.
A simple pass would have left the Brazilian with an open goal, but desperate to improve his poor goalscoring form in 2023 – he only has four league goals since the turn of the year – Lewandowski went alone and scuffed his effort wide.
"Ferran is the happiest man in the world; Raphinha and Lewandowski are a bit sad," Xavi added.
"Happy because the team has won, but sad because they have not scored. Lewandowski is the top scorer with 17 goals – imagine how all the others feel."
The Polish striker was not punished for his profligacy as Barcelona survived a late handball appeal against Sergio Busquets to triumph.
After knocking Premier League giants Man United out of the Europa League in midweek, Sevilla produced another impressive victory against Villarreal, sixth.
Since coach Jose Luis Mendilibar arrived the Andalusians are unbeaten in six games and far more solid than under his predecessor Jorge Sampaoli, climbing to 12th, eight points above the bottom three.
Rafa Mir slammed Mendilibar's revived side ahead in the first half but Villarreal defender Pau Torres pegged them back from close range.
Jesus Navas came close to a winner for Sevilla with a low drive which whistled past the post, before En-Nesyri, who netted twice against United, sent the Ramon Sanchez Pizjuan into raptures again in the 94th minute.
Valencia earned a comfortable 2-0 win on the road against bottom-of-the-table Elche, but remain in the relegation zone, 18th, as they have a worse head-to-head record with Almeria in 17th.
Getafe's 3-1 defeat by Mallorca leaves the Madrid side 16th, just a point above Almeria and Valencia.