Lionel Messi has ended his worst scoreless run in six years in Spain's La Liga with four goals as Barcelona went back to the top of the standings at the expense of Real Madrid.
Messi led Barcelona to a 5-0 rout of Eibar at the Camp Nou on Saturday while Madrid lost 1-0 at Levante.
The Catalans will enter next weekend's clasico against Madrid at the Bernabeu with a two-point advantage - and a one-goal edge all-time in La Liga over their bitter rivals 6,151 to 6,150.
Jose Luis Morales scored a 79th-minute winner for mid-table Levante, who had won only one of their past 14 league games against Madrid.
Before the clasico, Barcelona and Madrid have round-of-16 matches in the Champions League.
Barca visit Napoli on Tuesday and Madrid host Manchester City on Wednesday.
Messi notched his hat-trick in the first 40 minutes and added another goal near the end of the rout against Eibar, ending a four-game scoreless streak.
Arthur also scored for Barcelona at the Camp Nou after an assist from striker Martin Braithwaite who was making his Barca debut.
It was the fourth league win in a row for Barcelona, which has been enduring an institutional crises amid a controversial coaching change and public conflicts between players and club directors.
President Josep Bartomeu was jeered by the crowd at the Camp Nou, with some of the fans calling for his resignation.
"We needed a game like this, when we did things well and everything went our way," Barcelona coach Quique Setien said.
It was the seventh time Messi scored four or more goals in a game for the Catalans.
"Messi has been doing this for the last 14 or 15 years, and he will keep doing it," Setien said.
"He is a guarantee for any team or coach. He always comes through, either with goals or with assists."
Madrid dominated and created more scoring chances against mid-table Levante but were made to pay for their wastefulness in front of goal when Morales struck with a powerful left-footed shot into the top corner at Ciudad de Valencia Stadium.
Real Sociedad routed Valencia 3-0 to jump from eighth to fourth in the hunt for a Champions League berth.
Mikel Merino, Nacho Monreal and Adnan Januzaj scored for Real Sociedad, who have won three of their past four league matches.
Valencia dropped down to eighth, two points behind Sociedad.
Striker Iago Aspas scored in the second half to give 10-man Celta Vigo a crucial 1-0 victory over relegation rivals Leganes.
The hosts won to move out of the drop zone despite playing most of the match with 10 men after a straight red card to Croatian midfielder Filip Bradaric in the 21st.
Australian Associated Press