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.
|BREAKING NEWS: Arnautovic signs new Stoke deal|
|Smith leaves Liverpool for Bournemouth|
|Barcelona insist Arda Turan will stay|
|Andre Gomes: Barcelona suit my identity better than Real Madrid|
|Niersbach to appeal FIFA ban|
|Barcelona agree Mascherano renewal|
|Fernandinho can play in 10 positions - Guardiola|
|Reading´s kit launch is out of this world|
|Ben Arfa: I do not want to be PSG´s star player|
|FA Cup to trial fourth substitute|
|We want Balotelli and he wants us, says Besiktas chief|
|Crowd welcomes Higuain as he arrives for Juventus medical|
|Guardiola warns Man City stars: If you´re not fit, danger is coming|
|Mkhitaryan prepares to prove himself at United|
|Cavani: No pressure replacing Ibrahimovic|
|Wenger vows to keep transfer plans ´secret´ after Lacazette snub|
|Brannagan open to Championship loan move|
|Wenger wants to sign Mertesacker replacement|
|Ancelotti: Bayern´s transfer business done|
|Brisbane Roar sign former Danish international Kristensen|
|Verratti, Luiz missing for PSG|
|Sounders part ways with foundation coach Schmid|
|Mane turned down Manchester United for Liverpool|
|Zidane on Pogba: Until August 31, anything can happen|
|Mkhitaryan driven by father´s death|
|Inter rejected Napoli offer for Icardi, says president|
|Clichy: City fighting fit after Guardiola pizza ban|
|Everton and Burnley win as Hull are held|
|Ajax held by PAOK after Cillessen howler|
|Conte left frustrated by ´crazy´ money in transfer market|
|Neymar makes Barcelona case to Gabriel Jesus|
|Rostov comeback twice for Champions League draw with Anderlecht.|
|Arsenal defender Mertesacker set for lengthy lay-off|
|Conte not selling ´fantastic´ Matic|
|Ibrahimovic keen on MLS and Beckham´s Miami project|
|Neymar: I play for Messi, he´s the man|
|Barcelona reveal details of Andre Gomes deal|
|Suarez bullish over Barcelona prospects|
|Ajax claim Napoli keen on Milik to replace Higuain|
|Totti labels Higuain´s Juventus move ´a disaster´|
|Juventus confirm Higuain deal|
|Pato to Villarreal ´in the final stage´|
|PSG sign Lo Celso|
|Muller: Beating Dortmund will be more fun this season|
|Juventus sign Higuain from Napoli for €90m|
|Pastore: I´m like God in Paris|
|Injured Lanzini out of Olympics|
|Allegri unperturbed by Higuain fee|
|Menezes replaces Bento at Cruzeiro|
|Sporting rejected major bids from Inter and Liverpool for Joao Mario, claims father|
|Pochettino pleased by Tottenham despite Juventus defeat|
|Eriksson: Allardyce the right man for England|
|Mourinho makes United train after stepping off plane from China|
|Hazard can still match Messi, says Pedro|
|Pjanic shows there is life at Juve, with or without Pogba|
|Juventus 2 Tottenham 1: Benatia bags win for Serie A champions|
|Dembele: I am not the Bundesliga´s next superstar|
|Lyon claim €35m Arsenal offer for Lacazette rejected|
|Donnarumma dreaming of Milan captaincy as he eyes long-term stay|
|Robson: Ibrahimovic can match Van Persie´s first year at United|
|Rooney should remain England captain - Eriksson|
|Emery wants new striker at PSG|
|Santos accept Juventus bid for Gabriel|
|Eriksson expects Sweden to try and tempt Ibrahimovic out of retirement|
|Spurs signing Janssen almost quit|
|Leicester stay best for Mahrez - Ranieri|
|Allardyce to take Mourinho cue on Rooney|
|Ings ready to outdo big-money signings|
|Henderson optimistic over Liverpool campaign|
|Allardyce hardened to the challenge of England post|
|Barcelona announce record revenues for 2015-16|
|Moyes enjoys Sunderland win as Palace beat Colchester|
|Stoke complete Allen signing|
|Roma coach Spalletti warns suitors off Manolas|
|Cresswell out for up to four months with knee injury|
|Burnley fan banned by club for racist abuse|
|Dad won´t let me play at the Olympics - Larsson Sr pulls rank|
|Kostic joins Hamburg on five-year deal|
|Tevez: I´d turn down Chelsea and Napoli to stay at Boca|
|Mayoral inspired by Benzema for Wolfsburg stint|
|Allardyce straight into competitive action with England|
|Liverpool, Sevilla fined for Europa League final incidents|
|Barcelona seal Guillemenot signing as part of new Servette deal|
|Niersbach handed one-year ban over World Cup corruption|
|Chelsea and Everton ´still interested´ as Koulibaly eyes Napoli exit|
|´Still working hard´ - Balotelli trains with Liverpool kids|
|Winter breaks, long-ball football and the World Cup: Allardyce in his own words|
|Inter warn Napoli Icardi is not for sale|
|Zanetti wants Simeone back at Inter|
|Stoke snap up Sobhi|
|PSG tougher under Emery - Lucas Moura|
|Totti not ready for retirement - Pallotta|
|Confident Allardyce reveals plan for England success|
|Pochettino to discard three Tottenham players|
|Allardyce: Rooney must wait for captaincy decision|
|Aubameyang: I will only leave Dortmund for Real Madrid|
|Allegri silences questions on Pogba|
|Bruce stands by decision to quit Hull City|
|Pochettino: Not the right time for Argentina job|
|Inter yet to approach De Boer with Mancini exit rumoured|
|Ancelotti trusts me more than Guardiola - Ribery|
|Wijnaldum rejected Everton for Klopp|
|Pre-season Manchester derby cancelled|
|Coutinho excited by ´fast´ Liverpool recruits|
|Cristiano Ronaldo and Conor McGregor step into the ring together|
|Mancini coy on reports linking Icardi to Napoli|
|Nolito reveals why he chose Man City over Barcelona|
|Inter 1 Paris Saint-Germain 3: Icardi absence in defeat fuels Napoli talk|