Gareth Bale helped himself to four goals as Real Madrid hammered nine-man Rayo Vallecano 10-2 to help ease the pressure on boss Rafael Benitez at the Bernabeu.
The hosts trailed 2-1 against a side sitting in the relegation zone but Roman Triguero and Raul Baena were both dismissed for Rayo in the opening 30 minutes, swinging the contest firmly in Real's direction.
As well as Bale's four-goal haul, Karim Benzema scored a hat-trick, Cristiano Ronaldo bagged a brace and Danilo added one, but Real missed out on their record victory - which remains an 11-1 thrashing over Barcelona in the 1940s.
They did, however, move to within two points of Barca in the Primera Division table, with the Catalan outfit toasting their Club World Cup success earlier in the day in Japan.
Ten-man Atletico Madrid failed to take advantage of Barca's absence by losing 1-0 at Malaga, leaving them second on goal difference.
Atletico knew a point would be enough to climb to the summit of the table, but Gabi's red card just before the hour mark made life difficult at the Estadio La Rosaleda.
Diego Simeone's side almost held on, but Charles' deflected strike four minutes from time ensured Barcelona had double reason to celebrate.
Joining the big three in the Champions League spots over Christmas are Celta Vigo, who held onto fourth spot with a 2-0 victory over struggling Granada.
Fabian Orellana put Celta ahead with 21 minutes gone and Iago Aspas' goal just before half-time clinched the points.
It was Celta's third victory in a row and kept them a point ahead of Villarreal, who had former Manchester City midfielder Denis Suarez to thank for their 2-0 win away at Real Sociedad.
The Yellow Submarine were without a goal in their previous four Primera Division matches on the road, but made amends at the Anoeta.
Suarez's strikes towards the end of each half ended that frustrating run - and Sociedad's three-match unbeaten streak in all competitions.
Elsewhere, Athletic Bilbao moved up to seventh after beating basement dwellers Levante 2-0 at San Mames.
The Basque side have not lost at home since September and that record never looked likely to end, with Mikel San Jose and Inaki Williams scoring the goals in the second half.