Barca and Betis march on, Malaga held
Barcelona moved clear at the top of La Liga for 24 hours at least with a 5-0 thrashing of Rayo Vallecano.
David Villa scored the only goal of the first half before Lionel Messi gave Barca a clear advantage three minutes after the break.
That was how it stayed until the final 10 minutes when the floodgates suddenly opened as Xavi and Cesc Fabregas found the target before Messi grabbed his second a minute from the end.
The late goal rush put the focus squarely back on closest challengers Atletico Madrid, who will attempt to draw level with Barca again on Sunday when they host bottom-placed Osasuna.
Real Betis moved up to fourth in the table after Salva Sevilla's first goal of the season helped them see off Valencia 1-0.
Los Verdiblancos dominated the early stages and went ahead after just nine minutes as Juan Carlos' cross was not properly cleared by Adil Rami and Sevilla slammed home from the edge of the area despite the best efforts of Diego Alves.
Valencia were much improved after the break with Roberto Soldado in particular having his chances but Adrian made a fine save with his legs to repel the Spanish international's best effort three minutes from time to claim his third consecutive clean sheet since taking over as number one.
Malaga failed to build on their midweek Champions League success over AC Milan as they were held to a 0-0 draw by struggling Espanyol at the Cornella El-Prat.
Manuel Pellegrini's side had the better chances but two headers from Martin Demichelis failed to find the target in the first half, while home goalkeeper Cristian Alvarez was called upon in stoppage time to turn Roque Santa Cruz's header wide.
The draw does neither side much good as Espanyol remain in the Primera Division's relegation zone, while Malaga, third in the table, could lose ground on leaders Barcelona and Atletico Madrid if results go against them this weekend.
Deportivo La Coruna fought back to claim a 1-1 draw at Celta Vigo in the Galician derby but they could not take advantage of their hosts having to play for almost 40 minutes with 10 men.
Mario Bermejo gave Celta an eighth-minute lead only for Juan Dominguez to equalise 21 minutes later. Celta were then reduced to 10 men in the 52nd minute when Gustavo Cabral was dismissed following his second yellow card but the visitors failed to make the extra man count as they claimed their third away point of the season.