Pedri celebrated his 100th match for Barcelona as he came off the bench and scored from close range in the second-half to give the La Liga leaders a hard-fought 1-0 win at Girona.
The 20-year-old replaced the injured Ousmane Dembélé in the first half and grabbed the only goal in the 61st minute when he followed up after the goalkeeper failed to hold on to a Jordi Alba cross. Girona had an Arnau Martínez effort ruled out in the 65th minute and wasted a golden opportunity to equalise in the 88th minute when Iván Martín missed a sitter from close range.
Barcelona are now six points ahead of their bitter rivals Real Madrid, who have a game in hand and host third-placed Real Sociedad on Sunday.
Elche remain rooted to the bottom of the table without a win as they imploded towards the end of the first half to go down 3-0 at Sevilla. Youssef En Nesyri gave Sevilla a 29th-minute lead and Elche’s hopes of salvaging anything from the game evaporated in a four-minute period before half-time when Pedro Bigas was sent off and then Marcos Acuña and En Nesyri scored.
Cadiz climbed out of the relegation zone as first-half goals from Théo Bongonda and Álex Fernández earned them a 2-0 home win over Mallorca.
In Germany, Union Berlin outplayed their city rivals Hertha to win 2-0 and close to within a point of leaders Bayern Munich at the top of the Bundesliga.
The visitors took the lead a minute before the break with Danilho Doekhi beating two defenders in the air to head in a free-kick and struck again in the 67th minute with a textbook break that ended with Paul Seguin tapping in.
It was a third consecutive league win for Union who are now hot on the heels of Bayern after they stumbled to a third straight 1-1 draw at home to Eintracht Frankfurt.
The reigning champions took the lead when Leroy Sané rifled home after good work by Thomas Müller in the 34th minute. Frankfurt were largely anonymous until Daichi Kamada fed Randal Kolo Muani in the box to drill in a 69th-minute equaliser.
Freiburg beat strugglers Augsburg 3-1 to move up to fourth thanks to goals from Michael Gregoritsch, Lucas Höler and Philipp Lienhart, while Jonas Hofmann scored twice in Borussia Mönchengladbach’s 4-1 win at Hoffenheim.
Karim Onisiwo scored a hat-trick as Mainz thumped Bochum 5-2 while Niclas Füllkrug got both goals in Werder Bremen’s 2-1 home win over Wolfsburg.
Lautaro Martínez scored twice as Internazionale came from behind to beat the bottom club Cremonese in Serie A.
David Okereke put the hosts ahead after 11 minutes with a superb shot from the edge of the box that hit the underside of the bar and bounced in. Inter equalised 10 minutes later when Martínez tucked home the rebound after the Cremonese goalkeeper Marco Carnesecchi had parried Edin Dzeko’s volley.
Dzeko and Martínez combined again for the winner in the 65th minute when the former Manchester City striker played the Argentina forward in and his shot took a deflection before looping past Carnesecchi.
“I’m very happy and I congratulated my team on a great performance,” the Inter manager Simone Inzaghi told DAZN. “We realised there would be difficulties here and Cremonese were fired up. If I had to find a negative, we made a few too many mistakes in our passing that could have allowed us to extend our lead before the end.”
The result lifted Inter into second place but they remain 10 points behind the leaders Napoli, having played a game more.
Antonio Sanabria scored a late equaliser for Torino as they fought back from 2-0 down to salvage a 2-2 draw at Empoli. Goals from Sebastiano Luperto and Razvan Marin had put the host in control before Samuele Ricci and Sanabria struck in the final eight minutes.
Adrien Thomasson’s late goal salvaged a 1-1 draw for Lens at Troyes but the visitors missed the opportunity to move level on points with Ligue 1 leaders Paris St Germain. Second-half substitute Thomasson equalised with two minutes left to cancel out Yasser Larouci’s opener.