Barcelona closed to within four points of Real Madrid at the top of the Primera Liga on Sunday after the leaders lost 3-2 at home to Valencia while the Catalans beat Valladolid 4-1 at the Nou Camp.
Real slipped to only their second home defeat of the season when former Atletico Madrid forward Angel Arizmendi struck a dramatic 89th-minute winner in a frenetic encounter which featured two goals apiece from Raul and David Villa.
Bernd Schuster's side, who have lost five of their last eight games, lead the table on 62 points, Barca follow on 58, while Villarreal, 2-1 winners at basement side Levante, are in third spot on 56.
"There are lots of ways to lose a game and this was a huge disappointment," Schuster told reporters after the game.
"We are suffering too many defeats and are paying a heavy price for the few errors we are making."
Atletico Madrid tightened their grip on the final Champions League berth with a 2-1 win at Sevilla on Saturday, their first win at the Sanchez Pizjuan in over 15 years.
Valencia were first to strike at the Bernabeu, Villa sweeping the ball past Iker Casillas 11 minutes from the break after he had beaten the offside trap to latch on to a clever through ball from David Silva.
But their celebrations were cut short when Raul equalised just over a minute later, heading in from six metres out after he got the better of former club colleague Ivan Helguera who had came on as a substitute moments earlier.
The Real skipper took his tally for the season to 15 when he struck again early in the second half, squeezing a shot inside the post after Guti had threaded the ball through the Valencia defence.
But Valencia, who reached the final of the King's Cup after a 4-3 win over Barcelona in midweek, caused plenty of problems for the Real defence with their fast-breaking attacks and Fabio Cannavaro gave away a penalty when he pushed Silva in the back.
Villa sent Casillas the wrong way with his spot kick to make it 2-2 with his second.
Real peppered the Valencia goal with shots in a frantic final quarter.
But German keeper Timo Hildebrand pulled off a succession of brilliant reflex saves to deny the home side and Arizmendi complete a great week for Ronald Koeman's side when he rounded Cannavaro and beat Casillas at the near post with a pin-point shot.
Barcelona claimed their first win in four outings thanks to an outstanding display from Spain under-21 forward Krkic.
The Catalans had headed into the match under heavy pressure after taking just one point from their previous three league games and losing to Valencia in the Cup.
They looked edgy after Valladolid midfielder Jonathan Sesma had cancelled out a Samuel Eto'o goal with a penalty on the half hour, but Andres Iniesta settled their nerves when he restored their lead at the start of the second half.
Krkic made it 3-1, clipping in from a tight angle just after the hour and then capped an outstanding display when he poked home from a metre out after Eto'o had swerved round the keeper and slid a pass across the face of the goal.
Relegation-threatened Real Murcia claimed their first win since Javier Clemente took charge as coach at the start of the month with an emphatic 4-0 win at home to Espanyol.