Cristiano Ronaldo and Kaka lifted Real Madrid to a 4-2 comeback defeat of third-placed Villarreal on Sunday, a win which keeps the whites just two points behind leaders Barcelona.
Ronaldo scored an impressive hat-trick, Kaka came on with the score 2-2 and guided the whites to victory.
Real now have 47 points from 18 games, two less than Barca, who thrashed Deportivo Coruna 4-0 away on Saturday.
Villarreal twice went ahead in the first half, but in the second half were pushed back by Real's smash-and-grab football. The win confirmed that La Liga faces yet another two-horse race, because Villarreal are now fully 11 points behind Real.
A delighted Kaka said: "We cannot afford to drop points in these games. We are still just points behind Barca ... The goal was very special for me because it has been so long since I scored."
Real coach Jose Mourinho - who was involved in an ugly scuffle with the Villarreal bench during the frantic finale - said "there was only one colour in the first half, and that was yellow. But the second half was completely white.
Juan Carlos Garrido, Villarreal's coach, left complaining about Mourinho's manners - and about a clear offside in Real's third goal.
Cani gave the yellows the lead after seven minutes after taking a pass from Guiseppe Rossi. Ronaldo immediately levelled for the hosts after being set up by Mesut Oezil.
Ruben Marco made it 2-1 for Villarreal with a cool finish after being played through by Bruno Soriano, only for Ronaldo to equalise for a second time by heading in a free-kick from Xabi Alonso.
The hosts dominated the second half with their intimidating, direct style, and Villarreal keeper Diego Lopez had to make several sharp saves.
Kaka, back after five months out, came off the bench and set up Ronaldo to clinch his hat-trick, 11 minutes from time. The Portuguese hitman now has 22 goals to his name, four more than Barca's Lionel Messi.
Three minutes later, with Villarreal looking resigned to their fate, Ronaldo set up Kaka to make it 4-2, with his first goal of the season.
Later Sunday, Valencia secured third place - two points behind Villarreal - with a 1-0 win away to local rivals Levante.
Spain striker Juan Mata missed an early penalty for Valencia but made amends by hitting the winner eight minutes from time, despite a strong suspicion of offside.
Valencia are now three points above fifth-placed Espanyol, who thrashed lowly Zaragoza 4-0 earlier Sunday.
The only bad news for Espanyol was that Argentine striker Pablo Osvaldo, who scored the first goal, will be out for two months after badly tearing the abductor muscle in his left leg.
Zaragoza are now joint bottom with Almeria and Sporting Gijon, all three of them on 13 points.
Gijon battled out a 1-1 draw away to Racing Santander thanks to a last-gasp equaliser from Diego Castro, Almeria crashed 4-1 away to Mallorca.
Sunday's other early game was a 0-0 draw between Osasuna and Getafe.