La Liga: Real Madrid 3 Barcelona 4

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.

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.

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.

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.