Robert Lewandowski and Sergi Roberto’s goals helped Barcelona beat Cadiz 2-0 and restore their eight-point lead at the top of La Liga on Sunday.
Elsewhere Antoine Griezmann’s superb strike helped Atletico Madrid earn a 1-0 win over Athletic Bilbao to tighten their grip on fourth place.
Champions Real Madrid’s win at Osasuna on Saturday pulled them closer to Xavi Hernandez’s Barca, who had one eye on Thursday’s Europa League playoff second leg against Manchester United at Old Trafford.
However an inspired Ferran Torres helped Sergi Roberto to break the deadlock and Lewandowski added a second to leave Cadiz, 17th, two points above the relegation zone.
The visitors had two Roger Marti goals disallowed and made Barcelona uncomfortable at times at Camp Nou but their victory rarely seemed in doubt.
Xavi began with Sergi Roberto in midfield, replacing Pedri, who suffered a thigh injury in the Europa League 2-2 first leg draw with Manchester United last Thursday.
The coach passionately defended the Catalan after the game, saying he was a player often used as a scapegoat.
“I’ve heard the most unjust criticism (aimed at him) in my life,” Xavi told reporters.
“He’s a homegrown player, with a spectacular attitude, always trying to help the team, he’s unselfish.”
However it was Torres’ arrival that made the key difference for Barcelona in the first half.
The winger has struggled badly at times this season, but with Ousmane Dembele injured and Raphinha rested to face United, he took his chance with both hands.
Torres was hyperactive, dribbling past defenders at pace and tying Cadiz’s defence in knots.
One such run down the right saw him cross for Lewandowski after 43 minutes and although the Polish striker’s effort was saved, Sergi Roberto was on hand to smash home the rebound.
Three minutes later Barcelona doubled their lead when Lewandowski collected the ball on the edge of the Cadiz box and fired a low strike into the bottom corner.
“I work to show my football, it’s true I’ve not had many minutes and (not had that much) importance in the team,” Torres told Movistar.
“Every time the coach gives me his confidence, I go out to show him what I’ve got.”
Some Barcelona fans sang Torres’s name in response to his electric performance, encouraging the forward after his difficult spell.
“I’m proud that they chant my name,” he added. “There is still work to do, the hard thing is to keep it up.”
Barcelona took their foot off the gas in the second half, although Lewandowski clipped the top of the crossbar.
La Liga’s top scorer with 15 goals, Lewandowski has not been at his sharpest since the World Cup but slowly seems to be returning to it.
Marc-Andre ter Stegen kept yet another clean sheet, with Barcelona having conceded just seven goals from 22 matches in La Liga.
In Europe it has been another story, with Xavi hoping his side can prove more sturdy at the back against Man United than they were in the first leg.
Atletico’s victory over Athletic helped them cut the gap on third place Real Sociedad to two points, after the Basque side drew on Saturday.
Athletic played in their classic red and white striped kit, and Atletico in away shirts, even though Diego Simeone’s side were at home at the Metropolitano stadium.
The hosts wanted to pay tribute to celebrate Athletic’s 125th anniversary – with Atletico having been formed as a branch of Athletic back in 1903.
Griezmann made the difference in a tight clash after 73 minutes when he combined with Depay.
The pair exchanged passes and Griezmann drove into the box to net his seventh league goal of the season.
Rayo Vallecano and visitors Sevilla shared a 1-1 draw, with the hosts, sixth, unable to exert maximum pressure on the sides above them in the quest to secure European football next season.
Sevilla have struggled on the road in recent weeks, while their home form has helped them move up to mid-table after a poor start to the season.
Jorge Sampaoli’s side took the lead when Suso’s effort from distance deflected in off Oscar Valentin, but Florian Lejeune headed home from a corner to level.
Sergi Darder’s late strike snatched Espanyol a 1-0 win at bottom-of-the-table Elche.