Lionel Messi notched a 20th assist of the season to help a lacklustre Barcelona secure a 1-0 win away to Real Valladolid, maintaining the pressure on La Liga leaders Real Madrid.
Chilean midfielder Arturo Vidal struck the only goal of the game in the 15th minute, firing into the net off the post after being played in by Messi, who now has 20 assists in the league to go with his 22 goals.
Yet Barca failed to build on their early advantage and were forced to grind out the victory in the second half as Valladolid took the game to them.
The win took second-placed Barca on to 79 points after 36 games, one behind Real Madrid who can restore their four-point advantage when they visit Granada on Monday.
Should Real beat Granada and follow that with victory at home to Villarreal on Thursday, they will be crowned champions for the first time since 2017.
Valladolid meanwhile are 14th on 39, seven above the relegation zone.
Cristiano Ronaldo converted two penalties, both awarded for handball and the second in the last minute, as league leaders Juventus twice hit back to draw 2-2 with Atalanta to move closer to a ninth successive Serie A title.
The win took Juventus eight points clear of second-placed Lazio with six matches to play, with Atalanta a further point behind in third.
Duvan Zapata gave Atlanta the lead in the 16th minute and Ronaldo equalised 10 minutes after the break after the ball struck Marten De Roon's elbow.
Ruslan Malinovskyi then fired Atalanta back in front in the 81st minute before Ronaldo struck again, this time after Luis Muriel handled, to deny Atalanta a 10th successive league win.
Lazio slumped to a third successive defeat in the A title race when they were beaten 2-1 at home by midtable Sassuolo in stifling heat at the Stadio Olimpico.
Sassuolo had a goal disallowed for offside in the ninth minute and hit the bar before Lazio, beaten by AC Milan the previous Saturday and Lecce on Tuesday, went ahead with a Luis Alberto goal in the 33rd minute.
But Sassuolo hit back when Giacomo Raspadori turned in Francesco Caputo's cross seven minutes into the second half and Caputo himself headed the winner from point-blank range in stoppage time.
AS Roma midfielder Nicolo Zaniolo, one of Italy's brightest prospects, scored his first goal since returning from injury to complete a 3-0 win Brescia which pushed the hosts closer to relegation on Saturday.
Federico Fazio scrambled the ball home after indecision by the Brescia defence to put Roma ahead three minutes after halftime.
Just after the hour, Carlos Perez released Nikola Kalinic with a ball over the top of the Brescia defence for the Croatian forward to add the second.
Zaniolo, sidelined for five months after suffering a knee injury in January, came on as a substitute in the 66th minute and needed only eight minutes to add the third from Diego Perotti's pass - his first goal since scoring against Fiorentina in December.
Edin Dzeko hit both the crossbar and post after coming on in the 77th minute as Roma won their second game in a row, keeping them fifth with 54 points but still 11 adrift of the top four and a Champions League place.
Brescia are one off the bottom with 21 points, seven adrift of Lecce who are the lowest team outside the drop zone.