Barcelona thrashed 10-man Real Betis 4-0 on Saturday to move a step closer to winning La Liga for the first time since 2019.
Real Madrid beat Almeria 4-2 to cut the gap to eight points earlier on but Barcelona triumphed to restore their 11-point advantage.
Andreas Christensen, Robert Lewandowski and Raphinha struck for Barca at Camp Nou with Guido Rodriguez netting a late own goal to round off the rout.
Edgar Gonzalez's early dismissal made it an easy night for Xavi Hernandez's side to protect their lead with six games remaining.
With his side comfortably winning, Xavi brought on 15-year-old forward Lamine Yamal to become the club's youngest ever player to debut in La Liga.
Betis also brought on veteran Joaquin Sanchez, 41, for his final appearance at Camp Nou before he retires at the end of the season, and he was afforded a standing ovation by Barcelona supporters.
The Catalans bounced back from a 2-1 defeat by Rayo Vallecano in midweek.
"We generated a reaction," said Xavi. "We improved a lot, it was a very good reaction from the whole team.
"We went 1-0 up and after the red card, it was in our favour."
Xavi brought Christensen into the starting line-up after injury and he made a quick impact on his return.
Raphinha whipped in a vicious ball which Ronald Araujo narrowly missed but Christensen followed in behind to power a header home.
Betis were set back further when defender Edgar was dismissed for two bookings after half-an-hour.
Lewandowski pounced soon after to net his 19th league goal of the season after Jules Kounde set him up with a low cross.
The Pole, La Liga's top scorer, reacted after Real Madrid's Karim Benzema earlier netted a hat-trick to move within one of his tally.
Three minutes later Raphinha struck the third, making a clever run in behind the defence and finishing from Sergio Busquets' chipped pass.
Xavi brought on Ousmane Dembele with little over 15 minutes to go, with Camp Nou delighted to see the winger back.
Rodriguez deflected in Ansu Fati's cross as Barcelona added a fourth goal in the 82nd minute.
Almost 90,000 home supporters were also treated to 15-year-old Yamal's debut in the final stages, and the winger came close to scoring with a shot repelled by Rui Silva.
"We were talking about this on the bench, when I was at 15 I think I was playing for my neighbourhood team," added Raphinha.
"And seeing him come on in this stadium, with all these people, is incredible."
Benzema climbed to 17 goals in La Liga this season with his treble, now two behind Lewandowski.
Benzema netted his treble in the first half and Rodrygo added the fourth early in the second for Madrid, while Lazaro and Lucas Robertone struck for the visitors, 15th.
Almeria coach Rubi made several changes to his regular side, clearly unconvinced his team could take points from the Santiago Bernabeu – the visit of Elche on Tuesday should be more profitable in their survival bid.
Madrid played with freedom in attack during an entertaining game, albeit one low on tension with their hopes of retaining the title minimal.
"In attack the team is very dangerous, with the quality of Karim, Vini, Rodrygo, with the ball we play very well," coach Carlo Ancelotti told reporters.
"There are games where the offensive level looks very good, like today."
Vinicius Junior teed up Benzema for a tap-in to break the deadlock early on.
Rodrygo's assist for Benzema's second goal was one of the highlights of the game, with the forward backheeling the ball to himself to escape Samuel Costa.
"I think it was a pass to myself, I didn't have anywhere to go, it was a nice pass to myself with my heel," Rodrygo told DAZN.
The 35-year-old Benzema completed his hat-trick after 42 minutes from the penalty spot after Largie Ramazani clumsily fouled Lucas Vazquez.
Benzema's strikes helped him move two goals ahead of former Madrid attacker Hugo Sanchez to become the fourth top scorer in La Liga of all time, on 236 goals.
Vinicius made way in the final stages after taking a knock but Ancelotti said the winger would be fit to play in the Copa del Rey final next weekend.
Bottom side Elche survived relegation for the time being with a 4-0 win over Rayo Vallecano, who were reduced to 10 men in the first half.