Goals from Diego Forlan and Simao were enough to help Los Colcheneros take all three points from the Spanish champions on an intense night in Madrid.
Atletico Madrid went into the game knowing that a win could move them well clear of the bottom of the table. For Barcelona, the chance was to create a five-point gap between themselves and Real Madrid at the top.
An entertaining first half saw a sloppy Barcelona side quickly concede a two-goal lead. However, they managed to get a goal back, which meant that they were never out of the game. The second period of play was a lot grittier and took the pattern of Barcelona trying to get through an organised Atletico defense.
Atletico could have got off to the worst possible start inside the second minute. Goalkeeper, De Gea, nearly fumbled a catch from a weak shot, which would have seen the ball fall right at the feet of Zlatan Ibrahimovic.
Seydou Keita then had to be replaced just a minute later, as he pulled up with what looked like a bad muscular injury. However, there was still enough experience in the away side to be able to dominate the midfield area.
It was Atletico who looked the feistier of the two sides and this paid off quickly when Diego Forlan put the home side 1-0 up inside the first ten minutes. Joe Reyes made a neat little run from the left wing, beating a couple of players before Forlan tucked the ball past an on rushing Victor Valdes.
Barcelona should have replied almost instantly through their big Swedish front man. Ibrahimovic controlled the ball brilliantly, created a little bit of space but was dispossessed just as he was about to pull the trigger.
The La Liga leaders looked a little shell-shocked and Atletico should have doubled their lead through Sergio Aguero. Aguero timed a run superbly to beat the Barca offside trap but for some reason looked for another player when it seemed easier to score. The ball was cleared before the Argentine could think twice.
A second goal came soon enough as Atletico continued their blistering start to the game. Simao curled the ball into the goal beautifully from a free kick on the left side of the area. Valdes watched helplessly as it flew in. Barcelona now had their work cut out.
The La Liga and European champions showed their class and came back with an instant reply in the 27th minute, against the run of the game. Carles Puyol knocked the ball on from a corner and Ibrahimovic was on hand to volley the ball in at the back post.
Ibrahimovic then rose above everyone else from another corner and connected well with a header. The ball bulleted towards the bottom left hand corner, but De Gea got down at the last moment to smother the ball and prevent an equaliser.
Barcelona looked a completely different side as the game neared the half time mark. Lionel Messi combined well with Ibrahimovic before the Swede curled an effort at goal in the 34th minute. De Gea stretched out a hand to make a world class save but the tide was turning.
To their credit, Atletico dug deep and got stuck in. They kept the ball well in the Barcelona half and still looked good as they defended their lead into the break.
Atletico started the second half slightly the better of the sides. They were keeping the ball a lot better, however, the general feeling of the game was that they would need another to hold Barcelona off for long enough.
Barca quickly found their second half feet, when Ibrahimovic found himself in another superb position. Perea rushed across to snuff out the danger when it seemed that the alarm bells were about to go off in the Atletico defence.
Barcelona then tried to walk the ball into the net before the hour mark, but after a scramble or six, the ball was kicked away with some authority. The away team were going to have to find a little more precision to get level.
Atletico kept chipping away and had a number of players who could hurt the Spanish champions. Aguero managed to tussle past the intimidating figure of Puyol before forcing Valdes to spread his arms and palm the ball wide.
Aguero and Puyol tussled again in the 65th minute as the Barca captain slid in with an inch perfect tackle. Aguero was looking to nick the ball in front of him and the referee would have had no choice but to award a penalty.
Barcelona were building wave after wave of attack as the last twenty minutes quickly took a familiar pattern. The Atletico defense was looking solid and well organized but just one mistake could mean disaster.
Atletico were playing on the counter. Jose Reyes broke into space and was looking to cut inside before he was axed by Maxwell. Home players surrounded the referee as the Barca man had already been booked but he waved away protests.
Atletico held back their three substitutions to eat away at time during the last ten minutes. A stadium full of Atletico fans were biting their fingernails, hoping that their team could hang on.
For the latest news and updates from Goal.com, follow our Twitter account!