Real Madrid threw away a lead as Real Betis did second-placed Barcelona a favour by coming from behind to see off the leaders 2-1 in Seville.
Royston Drenthe scored after five minutes with Madrid looking in the same rampant mood which saw them thrash Real Valladolid 7-0 last weekend.
But Betis had other ideas and two goals in three minutes from Edu and Mark Gonzalez turned the game on its head.
After two straight defeats and with the relegation spots looming closer it was the Betis players who were the more inspired, and Real had fallen behind they hardly looked likely to come back.
Bernd Schuster's side stormed out of the blocks, taking the lead from their second attack.
A great pass from midfield sent Arjen Robben tearing away down the right, and his square ball across the area rolled past both Julio Baptista and the out-rushing Ricardo before arriving at the feet of Drenthe, who was left with a simple finish into the open net.
Not content with just one, Real kept up the pressure on their hosts and had a couple of chances to extend their lead before the half-hour mark.
Robben and Drenthe again combined again on 13 minutes, but this time the finish was poor.
Then 10 minutes later Robben had a go himself after Guti put him one-on-one with Ricardo, but the Dutchman failed to keep his shot down.
Buoyed by the let-offs Betis came out of their shell and began to have a go themselves.
Their first real chance came on 28 minutes when good play down the left from Gonzalez allowed him to get a cross in to Edu, but the Brazilian could not steer his shot past the Real defence.
It was a warning Madrid failed to heed, and three minutes later Edu brought the hosts level.
This time Mariano Pavone was allowed to twist and turn down the left, and Edu made no mistake with his header from six yards.
Three minutes later and the home fans were in raptures as Betis took the lead with a near carbon copy of their first goal.
Edu turned provider to cross from the left again and Gonzalez raced into the area to get his head to the ball before the Madrid defence.
Fernando Gago, Drenthe and Marcelo were then all booked before half-time as Madrid were clearly shaken by the turnaround.
Rather than shut up shop Betis took the game to Madrid in the second half as they looked to extend their lead.
Edu had a chance to get his second after a scramble in the area on 52 minutes which Iker Casillas needed to clear.
Schuster introduced Ruud van Nistelrooy shortly after and the club's top scorer had the best chance of the game to equalise, but could only find the post.
That was as good as it got for Madrid, as in the dying minutes Edu again nearly added a third, but in the end two was enough.