Robert Lewandowski scored two more goals to extend his league-leading tally to 12 and Barcelona routed Sevilla 5-1 to open a three-point gap on Real Madrid ahead of next weekend's "clasico."
Pedri and Pablo Torre also scored Sunday for the Catalan club, which restored its lead of La Liga a day after second-place Madrid won 2-1 at Celta Vigo.
Barcelona midfielder Gavi came off the bench to replace Pedri in the 83rd minute, making his return to action nearly a year after a serious knee injury.
“I had been dreaming about this moment for several months,” Gavi said. “It's tough to watch from the outside. I have to enjoy every moment. I feel very lucky to be here today.”
Barcelona will play Madrid on Saturday at the Santiago Bernabeu Stadium. Both teams have Champions League matches midweek — Madrid hosts Borussia Dortmund on Tuesday and Barcelona hosts Bayern Munich on Wednesday.
“This was an important win considering the matches that we have ahead,” Pedri said. “We had to leave with a good feeling and the three points.”
Lewandowski scored twice in the first half against the visitors, first by converting a 24th-minute penalty kick and then by finding the net from close range in the 39th.
The Poland striker was coming off a hat trick at Alaves in the previous league round, and had scored twice in the team's win over Young Boys in the Champions League. He has 14 goals in 11 matches in all competitions this season.
Lewandowski, who received a standing ovation when he was substituted in the 65th, nearly got his hat track against Sevilla in a one-on-one situation in the first half.
Pedri scored with a curling shot from outside the area in the 28th and Torre added to the lead from inside the area in the 82nd and with a free kick in the 88th. Raphinha had a 49th-minute goal disallowed for offside.
Barcelona has outscored its league opponents 33-10 this season.
Sevilla, which had no attempts on target in the first half, scored its lone goal in the 87th with 19-year-old substitute Stanis Idumbo.
Barcelona also saw Lamine Yamal return from a muscle strain that saw him leave Spain's squad during the international break.
Barcelona defender Eric García hurt a muscle in the team's warmup and did not play.
Atletico's stadium partially closed
Fewer fans than normal watched Atletico Madrid beat Leganes 3-1 in a match played in a partially closed stadium because of recent fan trouble.
Alexander Sorloth scored twice and Antoine Griezmann once after the visitors took the lead in the first half at the Metropolitano stadium, which had an empty fan section behind one of the goals as punishment after Atletico fans threw objects on the field during a city derby against Real Madrid last month.
The section is where the club's more radical supporters usually gather.
Atletico had been originally ordered to close the section for three matches but appealed the decision and the punishment was reduced to a single match. The derby was interrupted for more than 15 minutes after fans threw the objects near Madrid goalkeeper Thibaut Courtois in a game that ended 1-1.
Sunday's victory, which ended Atletico's three match winless streak in all competitions, moved Diego Simeone's team to third place in the league. It trails Barcelona by seven points.
Atletico midfielder Pablo Barrios and defender Clément Lenglet both got injured.
Griezmann was sent off late in the game after he slid into an opponent, but the red card was changed to a yellow after video review.
Other results
Villarreal is in fourth place after conceding an 87th-minute equalizer in a 1-1 draw against Getafe. Santiago Comesaña had put the hosts ahead in the 44th.
Mallorca defeated visiting Rayo Vallecano 1-0 with a goal by Vedat Muriqi in the 75th. It was the fourth win in five matches for Mallorca, which moved to sixth place in the standings. Rayo stayed ninth.