An embarrassing blunder from Barcelona goalkeeper Victor Valdes allowed Real Madrid to grab a late second goal that kept them alive in the Spanish Super Cup as Barca ran out 3-2 winners in their home leg.
Pedro, Lionel Messi from the penalty spot, and Xavi scored for the holders as they stormed back after Cristiano Ronaldo had headed the opener at the Nou Camp in the 55th minute.
With five minutes to go, however, Angel Di Maria pressured Valdes in his area as he controlled a back pass, stole the ball off him and scored while Barca's defenders looked on aghast.
That goal took the shine off Tito Vilanova's first "Clasico" as Barca coach, but he was sanguine about the error. "It's a team game. Anyone can make a mistake, I don't give the error any importance," said Vilanova, who stepped up from assistant to replace Pep Guardiola, who left in April. Valdes is the starting point for much of Barca's possession play from the back and is known for accurate distribution with his feet. "If he played it long all the time we wouldn't have the combination play we have," Vilanova said. "We will encourage him to carry on doing it."
The game had a muted opening, following the pattern of recent clashes, with Barca dominating possession and Real looking to break quickly. Niggly fouls interrupted the flow as Messi looked most likely to break the deadlock, twice firing just wide. Pedro forced the first save with a fierce shot in the 32nd minute that Iker Casillas tipped over.
The visitors were stronger in the second half and the match burst into life when Ronaldo powered in a header from Mesut Ozil's corner, celebrating by urging silence in the Nou Camp.
Almost from the restart, Javier Mascherano played a ball over the top for Pedro. The Spain forward's first touch was magnificent as he sped past Fabio Coentrao and fired in the equaliser.
Television replays suggested Pedro was offside, and Real coach Jose Mourinho was quick to pounce on it. "I didn't like Barca's first goal, it was an error by the touch judge," he said.
Messi netted from the spot in the 70th minute after Sergio Ramos brought down Andres Iniesta, who then dribbled past three players and threaded a ball through for Xavi to score eight minutes later.
Casillas denied Messi soon after in a key moment of the tie as play swung and Real poached their second away goal.