Real Madrid lead Barca on goal difference at the top of the table after Cristiano Ronaldo became the Spanish giants’ all-time leading scorer in a comfortable 3-0 win over Levante earlier on Saturday.
Javi Guerra had given Rayo a shock lead at the Camp Nou, but Neymar twice converted from the penalty spot after he had been brought down to give the hosts a half-time lead.
The Brazilian then struck twice in a minute after the break and teed up Luis Suarez to rifle home a fifth before Jozabed pulled a goal back for Rayo as Barca got back to winning ways after a 2-1 defeat at Sevilla last time out.
Villarreal can move top once more if they beat Celta Vigo on Sunday.
Barca should have had the game well wrapped up by half-time against an incredibly open Rayo defence as Tono made brilliant one-on-one saves from Ivan Rakitic and Suarez in the first 10 minutes.
However, it was the visitors who took the lead on 14 minutes when Manchester United reject Bebe’s driven cross was turned in by Guerra.
Barca responded immediately as Neymar was chopped down by Diego Llorente and he dusted himself down before sending Tono the wrong way from the spot.
Neymar had the ball in the net again moments later, but the goal was ruled out as Suarez was adjudged to have interfered with Tono’s view from an offside position.
Sandro Ramirez started on the right of the attack in Messi’s absence and he then passed up a huge chance to put the hosts in front as he blazed over with Suarez begging for a simple pass that would have left the Uruguayan with a tap-in.
Barca were soon in front as an outrageous piece of skill from Neymar provoked Nacho into committing another penalty and this time Neymar slotted the ball to Tono’s left.
Rayo had chances to draw level again early in the second period as Claudio Bravo did brilliantly to twice deny Guerra from close range.
Neymar then killed the game off when he rifled home the rebound after Tono had again denied Suarez and, straight from the kick-off, Suarez unselfishly squared for his strike partner to walk in his fourth of the game.
And it was roles reversed for the fifth as Neymar’s cross was thumped home on the volley by Suarez.
– Ronaldo overtakes Raul –
At the Santiago Bernabeu, Ronaldo struck his 324th goal for Madrid in just his 310th game in between strikes from Marcelo and Jese Rodriguez.
Real had to name a bench with seven academy graduates due to the absence of Sergio Ramos, Luka Modric, James Rodriguez and Karim Benzema through injury and coach Rafael Benitez was happy to secure a comfortable win in the circumstances.
“We had a bit of a handicap and to win 3-0 with some very good phases of the game for me is very positive,” said the former Liverpool manager.
The scale of Ronaldo’s latest record is exemplified by the fact he has played 431 fewer games for Madrid than previous record holder and club legend Raul, who earlier this week announced his decision to retire from football next month after a brief stint with the New York Cosmos.
The opener arrived on 27 minutes when Levante needlessly gifted possession to Madrid inside their own half and a neat one-two between Marcelo and Ronaldo allowed the Real captain in the absence of the injured Sergio Ramos to fire home.
Levante nearly struck back immediately, but Keylor Navas’s brilliant start to the season continued against his former club as he flew to his left to somehow claw Deyverson’s powerful header to safety.
And within seconds Levante were punished for again giving the ball away as Toni Kroos squared for Ronaldo to thunder home his 11th goal of the season.
Madrid’s greater firepower proved the difference once more in an underwhelming second half as substitute Jese rounded off the scoring when he ghosted past Simao and smashed the ball high past the helpless Ruben Martinez.