An opportunist hat-trick from captain Raul helped Real Madrid to a 4-2 comeback win at Sevilla on Sunday which cut Barcelona's lead at the top of the Primera Liga standings to four points.
Barca, who play the champions in Madrid next weekend, were held to a 2-2 draw at fourth-placed Valencia on Saturday and Real took advantage to move to 78 points with five games to play as they bid for a third straight title.
Third-placed Sevilla went ahead in the 17th minute when midfielder Renato nipped in front of his marker to head Diego Perotti's cross past Iker Casillas from close range.
The goal galvanised Real and Gonzalo Higuain had two good chances to equalise before Raul turned in a low cross from Christoph Metzelder just before halftime.
The 31-year-old striker hooked in a deflected centre on 63 minutes and then pounced on a fumble by Sevilla goalkeeper Andres Palop to make it 3-1 soon afterwards.
Substitute Diego Capel pulled one back with just under 10 minutes left before Marcelo raced clear to score Real's fourth and seal their 16th win in 17 matches since a 2-0 defeat at Barca's Nou Camp in December.
Real coach Juande Ramos said the key to victory was Raul's equaliser, adding that his side had controlled the match in the second half.
"There are five matches and a lot of points left to play for," he told a news conference. "This weekend we are at home to Barcelona and the match is of huge importance for the league."
Fifth-placed Villarreal won 2-1 at Getafe to keep alive their chances of returning to next season's Champions League and Atletico Madrid beat relegation-threatened Sporting Gijon 3-1 to climb above Malaga into sixth.
First-half strikes from Joan Capdevila and Joseba Llorente put Villarreal in control and both sides had a player sent off midway through the second half before Manu del Moral pulled one back from the penalty spot late on.
Manuel Pellegrini's side have 55 points, one behind Valencia and two adrift of Sevilla, who suffered their fourth straight defeat. Atletico, who had Simao Sabrosa sent off late on for two yellow cards in two minutes, have 52 and promoted Malaga 51.
King's Cup finalists Athletic Bilbao won a stormy encounter against north-coast rivals Racing Santander 2-1. Five players were sent off during the second half, three from Racing and two from Athletic.
At the foot of the table, Espanyol pulled clear of the relegation places with a 2-0 home win over Real Betis.
They climbed to 16th with 35 points, one ahead of Getafe and two clear of Sporting. Recreativo Huelva are 19th with 30 points, after a 4-2 home defeat by Real Mallorca, two abo