Both sides had plenty of chances during an enthralling first half but the opener did not arrive until five minutes into the second period when Cesc Fabregas latched onto Lionel Messi's through ball to fire past Diego Lopez.
Madrid got the equaliser their performance merited nine minutes from time when the game's outstanding performer, Raphael Varane, rose to head home Mesut Ozil's cross.
The big news before the match was the decision of Madrid coach Jose Mourinho to hand a debut to goalkeeper Lopez after he rejoined the club from Sevilla last week as cover for the injured Iker Casillas.
But it was Barca's second-choice goalkeeper, Jose Manuel Pinto, who was first into the action, clawing away Cristiano Ronaldo's dipping free-kick from under his crossbar.
Barca began to take control after that early scare and they could have gone ahead on 13 minutes when a beautiful scoop pass from Andres Iniesta set Jordi Alba free but the full-back skewed his volley well off target.
Ronaldo was then inches away from connecting with a Karim Benzema cross, before Xavi struck the crossbar with a free-kick.
The Barcelona midfielder missed another chance to open the scoring on 25 minutes after a terrible backpass from Ricardo Carvalho allowed Fabregas to intercept. The former Arsenal's man teed up Xavi to take aim with the goal gaping only for the impressive Varane to get back and clear off the line.
The hosts started to find more opportunities on the counter-attack as the half wore on and Benzema came within inches of scoring with a volley after being played in by Jose Maria Callejon.
Dani Alves then made a heroic last-ditch tackle to prevent Benzema and the Frenchman was first to threaten after the break as he cut inside and bent a shot just over, but it was Barcelona who found the net moments later.
A poor clearance from Callejon was seized on by Messi, who laid on the opening for Fabregas to apply a cool finish beyond Lopez.
Varane produced another wonderful challenge to deny Fabregas a second as he bore down on goal, and Madrid should have been level four minutes later as Michael Essien whipped a bouncing cross to the back post where Ronaldo headed just wide.
Gerard Pique produced a wonderful challenge to thwart Ronaldo as he tried to connect with Ozil's low cross before Barca had two great chances to add to the scoring as Fabregas shot over from Alves' cutback and Pedro's chip drifted wide.
Barca's failure to kill the game off came back to bite them late on when Ozil swung in a cross from the right and Varane powered a header low into the bottom corner.
The visitors had one final chance to take a lead back to the Nou Camp on February 27 but Lopez stood up well to turn away Alba's effort.