Trailing after 21 seconds and in danger of falling six points behind in the Spanish league, Barcelona rallied for yet another victory at Real Madrid.
Alexis Sanchez scored in the 30th minute, Xavi Hernandez got the go-ahead goal on a deflected shot in the 53rd and Cesc Fabregas got the final goal in the 66th to lead the three-time defending Spanish champions to a 3-1 victory Saturday night in the most-anticipated league match of the European season.
"We were superior to Madrid," Barcelona midfielder Xavi said. "We've been faithful to our philosophy, keeping hold of the ball and we were superior."
Barcelona (11-1-4) moved into first place on goal difference ahead of Real Madrid (12-2-1), which has played one fewer game. Real Madrid entered with a 15-match winning streak, which had tied the team record set during the 1960-61 season.
With a win, Real Madrid would have moved into a commanding position. But Barcelona improved to 3-0-1 at its rival in the last four seasons.
Karim Benzema put the hosts ahead just 21 seconds in, likely the fastest goal in "classico" history, after Barcelona goalkeeper Victor Valdes miskicked a clearance at Estadio Santiago Bernabeu.
It was just the fifth first-minute goal in 216 official meetings between the rivals. Valdes, whose footwork has improved in recent years, shanked the ball straight to Angel Di Maria. His shot from 30 yards bounced off Sergio Busquets to Mesut Oezil, whose volley then deflected off Busquets to an open Benzema. He poked the ball into the roof of the net with his right foot from 6 yards.
Madridistas were overjoyed. But it didn't last.
"The perfect image of how the team responded is Victor Valdes," Barcelona coach Pep Guardiola said. "After the goal he kept playing the ball. I prefer that he loses that ball and we keep playing out from the back, and that's what we did."
Two-time FIFA player of the year Lionel Messi nearly tied it in the seventh minute when he broke in after Sergio Ramos slipped, but goalkeeper Iker Casillas poked the ball wide with a diving save.
Barcelona made it 1-1 after Messi collected the ball near midfield, dribbled through the defense and fed Sanchez with a a perfectly aimed and weighted pass. Sanchez, acquired from Udinese during the summer, took several touches and slid the ball in from 18 yards.
"I didn't like the first goal (they scored)," Madrid coach Jose Mourinho said with a grimace. "It's similar to other occasions when we've conceded against Barcelona. The ball was there to be won."
A little luck led to the tiebreaking goal. Hernandez's chopped 30-yard volley went off Marcelo and bounced in off the post, past the wrong-footed Casillas' dive.
Ronaldo could have tied the score in the 65th, but his open header from a few yards out went wide. It was a miserable night for Ronaldo, who also sent several free kicks into the defensive wall.
A minute later, Messi surged up the middle and passed to Dani Alves down the right flank. Alves' long cross to the far post was met by Fabregas, who beat Coentrao with a diving header for his 10th goal of the season.
Mourinho, criticized by Madrid great Alfredo Di Stefano for a defensive approach in previous games against Barcelona, opted for a more attacking, high-pressing formation, using Oezil instead of an additional defensive midfielder.
"I decided to play that way because we were playing at home and we wanted to win," Mourinho said.
As Madrid trudged off the pitch at the final whistle, Mourinho walked over and shook hands with Barcelona assistant coach Tito Vilanova.
Vilanova, who was poked in the eye by Mourinho after Spanish Super Cup match at the start of the season, was back after recovering from surgery to remove a tumor on a salivary gland.
"I just wished him good health," Mourinho said. "It's the same as I would wish anybody, whether their problems are big or small."