Lionel Messi's late penalty edged Barcelona to a 1-0 victory at home to Real Sociedad to ease the pressure on manager Quique Setien.
The 61-year-old, who replaced Ernesto Valverde in January, had come under fire after last weekend's El Clasico defeat to Real Madrid, with reports in the Catalan media suggesting he had lost the support of the dressing room.
Sociedad posed a difficult test for Barca, buoyed by reaching the Copa del Rey final in midweek, and Setien's side had to wait until the 81st minute for a winner at the Nou Camp.
Messi stepped up to slot home from the spot after Robin Le Normand was adjudged by the video assistant referee to have handled in the area.
Victory sent Barcelona back to the La Liga summit, two points clear of Real ahead of their trip to Real Betis on Sunday.
Atletico Madrid's hopes of a top-four finish suffered a blow as they were held 2-2 at home by Sevilla.
Diego Simeone's side, who face Liverpool in the second leg of their Champions League last-16 tie on Wednesday, slipped to fifth as Sevilla remain third.
The visitors went ahead through Luuk De Jong after 13 minutes, but an Alvaro Morata penalty and Joao Felix's strike gave Atletico the lead, only for Lucas Ocampos' penalty to equalise for the visitors before the break.
Elsewhere in La Liga, Mallorca boosted their survival hopes with a 2-1 win at Eibar.
And in the late kick-off, Getafe missed the chance to move up to third after being held to a goalless draw at home to Celta Vigo, with Mauro Arambarri also sent off late on for the Champions League-chasing side.
Bundesliga: Dortmund cut gap at top
Borussia Dortmund kept up their pursuit of Bundesliga leaders Bayern Munich with a 2-1 win at Champions League-chasing Borussia Monchengladbach.
The hosts were unbeaten in the last five matches, but Thorgan Hazard and Achraf Hakimi's goals - either side of Lars Stindl's equaliser - was enough to secure Dortmund a crucial victory which moves them to within a point of Bayern ahead of their match against Augsburg on Sunday.
Dortmund also leapfrogged RB Leipzig after Julian Nagelsmann's side were held 0-0 at Wolfsburg.
Nagelsmann left star striker Timo Werner on the bench ahead of their Champions League second leg with Tottenham on Tuesday and his side were unable to find the net.
Bayer Leverkusen stretched their unbeaten run to five matches as Kai Havertz, Karim Bellarabi and a double from Paulinho earned a resounding 4-0 win over Eintracht Frankfurt.
Schalke are winless in seven Bundesliga matches after a 1-1 draw at home to Hoffenheim. Weston McKennie's opener was cancelled out by Christoph Baumgartner.
Elsewhere, Freiburg beat Union Berlin 3-1 and Hertha Berlin battled back from going two goals behind inside six minutes to draw 2-2 with Werder Bremen.
Ligue 1: Nice rise to sixth with late win
Paris St Germain's clash at Strasbourg became the first Ligue 1 match to be postponed due to the coronavirus outbreak on Friday, meaning none of the top four were in action on Saturday.
Kasper Dolberg struck in the third minute of stoppage time to snatch Patrick Vieira's Nice a 2-1 victory over Monaco.
Dolberg had equalised for the hosts after Wissam Ben Yedder gave Monaco the lead and, after former Manchester City forward Stevan Jovetic was sent off four minutes from time for Monaco, Dolberg was on target again to grab a dramatic win.
El Bilal Toure's strike secured a 1-0 victory for Reims at home to Brest and moved them up to fifth, holding onto the victory despite Konan N'Clomande's 68th-minute red card.
Dijon beat bottom club Toulouse 2-1, Nimes remain in the relegation zone after a 2-1 loss at Metz and Angers eased to a 2-0 win over Nantes.