Barcelona moved to within a point of Real Madrid at the top of La Liga as they twice came from behind thanks to a Lionel Messi hat-trick to edge a thrilling El Clasico 4-3 at the Santiago Bernabeu.
The sides went in level 2-2 at half-time as a record 19th goal against Madrid from Messi cancelled out Karim Benzema's double after Andres Iniesta had put Barca in front.
Cristiano Ronaldo then put Madrid back in front from the penalty spot, but the hosts were reduced to 10-men when Sergio Ramos pulled down Neymar inside the box 10 minutes later and Messi levelled once more from the spot.
More From This Section
A first defeat for Real in 32 games means Atletico Madrid remain top of the table thanks to their better head-to-head record against Los Blancos with Barca still in third.
"The league starts a new now," said Barca boss Gerardo Martino.
"More than the mathematical distance we were behind, the impression was people wrote us off. Atletico Madrid were always in the fight and I think that after this result we are too.
"We knew if we didn't win tonight it was over for us. We still don't have matters in our own hands, but we'll now fight till the end."
Real coach Carlo Ancelotti, meanwhile, lamented Ramos' game-changing red card when Madrid had just gotten themselves back in front.
"I haven't seen it again and it is difficult for me to comment on the decisions of the referee because there were many.
"However, it was the key moment. We were winning 3-2 and controlling the game well, but it is much more difficult to control the game with a player less."
The game got off to a blistering start as after Neymar and Benzema had early efforts easily saved, Barca opened the scoring when Messi played in Iniesta behind the Real defence and the Spanish international smashed the ball in off the underside of the bar.
Benzema had a great chance to equalise five minutes later when he spooned Angel Di Maria's cut-back over after a great a jinking run from the Argentine had taken him past three Barca defenders.