Sergio Aguero scored a dramatic late winner as Atletico Madrid twice came from behind to stun visiting Barcelona 4-3 on Sunday, leaving the Catalans just four points clear at the top in Spain.
Barcelona's advantage over Real Madrid was 12 points three weeks ago but their form has deserted them.
Real's 2-0 win at Espanyol on Saturday, their 10th straight victory, had upped the pressure on Barca, and Pep Guardiola's side have now taken only one point from their last three matches.
With 25 matches played, they have 60 points to Real's 56, while Sevilla, who had two stylish Frederic Kanoute goals to thank for Saturday's 2-1 comeback win over Athletic Bilbao, are in third on 47.
Atletico started brightly at the Calderon but fell behind to a Thierry Henry goal. The ball fell to the French international just outside the penalty area and he curled a superb shot over Leo Franco into the top right corner.
Lionel Messi left the Atletico defence trailing and finished clinically to double Barca's advantage before Diego Forlan lashed in a shot from long range.
A mistake by Rafael Marquez let Aguero in to equalise early in the second half but the home side fell behind again when Samuel Eto'o sent Eidur Gudjohnsen racing clear and he squared for Henry to score his second.
Barca looked to be cruising but Forlan netted from the penalty spot with 10 minutes left after Henry was adjudged to have fouled Florent Sinama Pongolle and the home support roared the Atletico players on in search of a winner.
With around a minute of regular time remaining, Aguero picked up the ball on the left, burst through a Carles Puyol tackle and finished past Valdes into the bottom corner.
It was a similar outcome to Atletico's match against Barca a year ago when the Argentina international striker scored twice and created a third to lead his side back from a goal down to win 4-2.
Guardiola congratulated Atletico and said their direct style of play had caused his players problems.
"We'll pick ourselves up, try to correct what is going wrong and carry on working," the former Barca midfielder said at a news conference. "I have a great deal of faith in my players."
In other matches on Sunday, struggling Valencia lost 2-1 at home to Real Valladolid and drop to sixth behind Atletico on goal difference.
Unai Emery's side were dumped out of the UEFA Cup by Dynamo Kiev in mid-week and have just two points from their last four league matches.
Villarreal just managed to hold on for a 2-2 draw at Real Betis and stay in fourth, five points behind Sevilla on 42.