Barcelona breathed life into their title defence as Lionel Messi's hat-trick gave them a thrilling 4-3 El Clasico win at 10-man Real Madrid.
Barcelona's all-time leading scorer struck two second-half penalties as the Catalan giants came from behind twice to win a pulsating encounter at Santiago Bernabeu on Sunday.
The second of those spot-kicks, scored with six minutes left after Xabi Alonso clumsily fouled Andres Iniesta, was hammered into the top-right corner as the defending champions closed to within one point of Real - and Madrid's city rivals Atletico - in the La Liga table.
Iniesta's early goal was cancelled out by a pair of Karim Benzema strikes, and although Messi levelled before half-time, a controversial Cristiano Ronaldo penalty put Real back in front.
Sergio Ramos was then sent off for hauling down Neymar, though, and Messi's first penalty restored parity.
And the Argentina star – who became the top scorer in Clasicos with his treble, overtaking Real Madrid legend Alfredo Di Stefano – held his nerve when presented with another penalty as his side notched their first league double over their rivals since the 2009-10 season.
Much was made of the influence Ronaldo, Gareth Bale and Neymar would have on the contest, but all three were not at their best, leaving Messi to play the starring role in the Spanish capital.
Neymar had an early strike saved before Iniesta fired Barcelona, who surprisingly dropped Alexis Sanchez and Pedro, into the lead to cap a superb team move in the seventh minute.
Real Madrid supporters were quick to voice their displeasure as the visitors enjoyed a spell of possession, but their whistles turned to silence as Messi's angled ball sent Iniesta through on goal and the midfielder thrashed a powerful left-footed finish past Diego Lopez.
Benzema, who had already spurned two chances, missed a golden chance to level when he turned over after an Angel Di Maria cut-back, and Messi shot wide when he seemed more likely to double Barcelona's lead.
The Frenchman eventually scored for Real, with his powerful header – which came from another cross from the outstanding Di Maria - too hot to handle for Barcelona goalkeeper Victor Valdes, going in off the post to level proceedings in the 20th minute.
And Benzema doubled his account just four minutes later, as Di Maria, who needed treatment just moments before, again found the forward, who chested down before volleying a classic centre forward's goal past Valdes.
Benzema could have had a hat-trick in the first 30 minutes, but saw Gerard Pique clear a curling effort off the line and Messi punished the hosts when he capitalised on a goalmouth scramble to score from close range just before the break.
Tempers frayed as Pepe and Cesc Fabregas were booked after the goal, but Real settled quickly after the interval, with Valdes doing well to deny Benzema after a great Bale run.
Real went ahead in controversial circumstances, as referee Alberto Undiano pointed to the penalty spot after Ronaldo was fouled by Dani Alves, although replays showed contact was initially made outside the area.
Ronaldo dispatched the spot-kick, powering an effort into the bottom left corner for his 26th league goal of the season, and Valdes had to keep out Bale after another Real attack.
The match swung in Barca's favour when an excellent Messi ball released Neymar, with the 19th red card of Ramos' Real Madrid career giving the Argentinian the chance to score from the penalty spot in the 65th minute.
And just like Ronaldo before him, Messi made no mistake, forcing Carlo Ancelotti to sacrifice Benzema for defender Raphael Varane.
A fizzing 20-yard effort from Alves then hit the inside of the left post with Lopez beaten, but Barcelona's numerical advantage was beginning to show.
Iniesta created the winner with a clever run, as his attempt to get away from Daniel Carvajal was blocked by Alonso, leaving Undiano with no option but to give another penalty.
And Messi ensured it was his name in the headlines again as he scored a crucial goal that is sure to ease the pressure on coach Gerardo Martino.
|Mendy injury means Aguero or Jesus for Guardiola|
|Guardiola sends ´big hug´ to ´amazing, so gentle´ Pulis|
|Tavecchio quits as head of FIGC, claims board have refused to resign|
|Benedetto facing Argentina World Cup KO with cruciate injury|
|Shape up! Heynckes reveals demand to Bayern star Vidal|
|Ramos sits out Madrid trip to APOEL|
|West Brom sack Pulis after wretched run|
|Lloris wants Spurs to forget title and focus on top four|
|Pogba no Gerrard yet, says Benitez|
|Guardiola will ´kill´ City stars if they get complacent|
|Ibrahimovic: My injury was worse than people know|
|Icardi like a ´raptor pouncing on its prey´, says Spalletti|
|City style suits me and thrills neutrals, says De Bruyne|
|Guardiola ready to risk Kompany for Man City after Stones´ injury|
|Stones can bounce back stronger - Kompany|
|In-form Chelsea have regained hunger - Conte|
|Inter 2 Atalanta 0: Icardi brace sends Spalletti´s side second|
|Giampaolo promises more from ´extraordinary´ Sampdoria|
|Record-breaking Valencia tee up blockbuster Barcelona clash|
|Poor West Ham performance at Watford was to be expected - Moyes|
|We will see what happens in the future - Silva non-committal on Everton rumours|
|Stones can bounce back stronger - Kompany|
|Football needs to do more to combat racism - Boateng|
|Watford 2 West Ham 0: Misery for Moyes on Hammers bow|
|Unlucky 13: Benevento suffer record-breaking defeat|
|Juventus lost composure amid Sampdoria onslaught - Allegri|
|Sampdoria 3 Juventus 2: Champions slip further off the pace after thriller|
|Coleman confirmed as Sunderland boss|
|I was just injured - Belgium´s Nainggolan blasts ´stupid´ claims of feigned ailment|
|Leeds United 2 Middlesbrough 1: Losing streak snapped to ease pressure on Christiansen|
|Hughes backs Giggs for Wales job|
|Madrid confirm Ramos´ broken nose after derby clash|
|Kane wants to retire with Tottenham|
|Mourinho: Man United lacked balance with attacking line-up|
|Pastore not considering PSG exit to help World Cup chances|
|Wenger, Ozil & Sanchez uncertainty affecting Arsenal, says Seaman|
|Silva not surprised by Chelsea, Spurs interest in Richarlison|
|Ancelotti, Conte, Allegri on shortlist to replace Ventura|
|Perth Glory 0 Melbourne Victory 2: Visitors claim first A-League win of season|
|Marcelo unaware of Ramos-Ronaldo rift at Real Madrid|
|Neymar will take PSG´s next penalty - Cavani|
|Ranieri would consider coaching Italy|
|Postecoglou set for decision on Socceroos future|
|Championship Review: Millwall deny sloppy Sunderland, Wolves back on top|
|Simeone rallies around under-fire Griezmann|
|It´s a growth process - Montella optimistic despite Napoli loss|
|Spalletti happy at Inter, tips Ancelotti for Italy job|
|Sarri defends sacked Ventura over Insigne´s Italy snub|
|Los Blank-os! Misfiring Real Madrid break new ground under Zidane|
|Zidane upbeat despite derby stalemate|
|Zidane unsure on Ramos absence with suspected broken nose|
|Mind the gap! Real Madrid must make history to retain LaLiga title|
|Napoli 2 AC Milan 1: Insigne stars after Italy snub as leaders move four points clear|
|Atletico Madrid 0 Real Madrid 0: Defences dominate in historic derby|
|Pjaca scores winner for Juventus Primavera on return from injury|
|Lions don´t recover like humans! - Ibrahimovic and Pogba thrilled to be back|
|Pogba was different class - Mourinho praises midfielder after impressive comeback|
|Competition is good – PSG boss Emery explains benching Mbappe|
|Klopp apologises after Moreno misses birth of child|
|Manchester United 4 Newcastle United 1: Pogba shines as Ibrahimovic makes his return|
|Hodgson accuses Niasse of diving to win Everton penalty|
|Roma 2 Lazio 1: Nainggolan stunner proves decisive|
|´Why not?´ - Hazard believes Chelsea can catch City|
|Bournemouth hat-trick hero Wilson: I need to be selfish|
|Valverde admits scoreline in Leganes win was ´excessive´|
|Pulis leaves uncertain future to West Brom board|
|Results not far away for struggling Swansea, claims Clement|
|Heynckes proud of 500 Bundesliga wins as Bayern go six points clear|
|Al-Hilal 1 Urawa Red Diamonds 1: Rafael earns valuable first-leg draw|
|Stones could be set for six-week spell on sidelines|
|Paris Saint-Germain 4 Nantes 1: Cavani double puts hosts six clear|
|Guardiola delighted to maintain rhythm after international break|
|Woeful Sunderland set new record ahead of expected Coleman appointment|
|Suarez unmoved despite ending Barca drought|
|Leganes 0 Barcelona 3: Scruffy Suarez double ends goal drought|
|Crystal Palace 2 Everton 2: Niasse equaliser boosts Unsworth´s case|
|Heynckes reaches record 500th Bundesliga win|
|Bournemouth 4 Huddersfield Town 0: Hat-trick hero Wilson stars for 10-man Cherries|
|Burnley 2 Swansea City 0: Old boy Cork stars as Dyche´s men win again|
|Liverpool 3 Southampton 0: Record-breaking Salah blows Saints away|
|Leicester City 0 Manchester City 2: Jesus & De Bruyne on target as Guardiola´s title tilt continues|
|West Brom 0 Chelsea 4: Hazard leads rampant champions in piling pressure on Pulis|
|They love the club - Wenger hopeful over Ozil, Sanchez deals|
|Bayern Munich 3 Augsburg 0: Lewandowski double sends leaders six points clear|
|Wenger hails tenacious Ozil after derby delight|
|Lacazette and Sanchez are always dangerous - Ozil|
|Pochettino fumes over refereeing decisions after derby defeat|
|I´m happy at Juventus - Allegri rejects Italy speculation|
|Lamela returns from injury for Tottenham U23s|
|Arsenal 2 Tottenham 0: Ozil and Sanchez come up trumps for Wenger|
|Kimmich: Working with Guardiola was incredible|
|Bale thanks Coleman after Wales coach steps down|
|Kane & Alli fit for Spurs at Arsenal, Lacazette starts|
|Sydney leapfrog slapstick Jets at A-League summit|
|Christensen guides the way for Loftus-Cheek & Abraham at Chelsea|
|Mertens: Sarri´s tactics give Napoli 12 men|
|Aubameyang back in Dortmund fold pre-Spurs|
|Bosz laments ´ridiculous´ goals|
|Madrid have best kids stockpiled – Simeone|
|Guardiola backs Stones to get even better|
|Ibrahimovic will start with bench role, says Mourinho|
|Injections to play a friendly – Mourinho slams England over Jones handling|
|Championship Review: Sheffield United go top|
|Schurrle: Dortmund couldn´t deal with Stuttgart counter-attacks|