Abidal chested down Lionel Messi's scooped pass inside the area before flicking a left-footed shot under goalkeeper Iker Casillas in the 77th minute for just his second goal with the Catalan club. The Frenchman's first also came in the domestic cup competition.
Just as it did in a 3-1 loss last month, Madrid started well with Cristiano Ronaldo giving the hosts the lead after 11 minutes from a quick counter.
But Madrid's aggressive defence gave in after Pepe was booked in the 17th, and Barcelona equalized in the 49th when Carles Puyol ran into the area untouched to head in Xavi Hernandez's corner.
The win continued Barcelona's recent domination of Madrid, as the defending league champions picked up their ninth victory in 13 games since Pep Guardiola took over as coach. Madrid's lone win in that stretch came in last year's cup final in April, and the two are now even with 86 victories each in the all-time series.
"Sooner or later this has to end. There's no way you can continue such a streak in such an important (stadium)," Guardiola said after marking his 41st birthday with a fifth coaching victory at the Santiago Bernabeu. "While it's true we've dominated them that doesn't give us any advantage before the return leg."
Madrid's players faces became increasingly frustrated in the second half as Barcelona took control of the game once again against its biggest rival, which often showed nerves when it came into possession of the ball.
The cup holders started defending aggressively early as coach Jose Mourinho inserted Pepe in front of the defence, with Ricardo Carvalho returning for the first time since September to partner Sergio Ramos in front of goalkeeper Iker Casillas.
Madrid's few chances came on counterattacks, including Ronaldo's opener. The Portugal forward netted his fourth career goal against the Catalans after running onto Pepe's long pass and striking a left-footed shot between the legs of backup keeper Jose Manuel Pinto, who played in place of Victor Valdes. Pinto was the lone change from the team that won in the league at the Santiago Bernabeu in December.
Casillas was lucky when Alexis Sanchez floated a header off the woodwork, but then kept Messi's shot from sneaking in at near post in the 26th as Barcelona gradually took over the match.
"We got to halftime without conceding and the result was in our favour," Casillas said. "But in the second half another set play hurt us, we've had problems with these (this season)."
Pepe, who was lucky to escape a second yellow card after stamping Messi's left hand, was guilty of letting Puyol slip into the box unmarked to head home the equalizer and his first goal since October 2010.
"The players told me about it, but I haven't seen the images yet," Guardiola said of the stamp.
Barcelona continued to move the ball around, with Iniesta volleying off the crossbar with a 54th-minute shot that came off of Ramos.
Karim Benzema nearly put Madrid ahead again with the team's only second-half opportunity, but the France striker headed off the post in the 58th.
Mourinho introduced Mesut Oezil and Jose Callejon in the 66th looking for a winner, only to see Messi mark his 300th Barcelona appearance with a perfect pass into the left side of the area to set Abidal free with Casilllas for the winner.
Earlier at the San Mames stadium, Fernando Llorente and Iker Muniain headed in goals either side of halftime to give Athletic Bilbao a 2-0 victory over Mallorca in the first leg of their series.
Valencia hosts Levante in a city derby Thursday to close out the first round of last eight matches, with Espanyol having rallied to beat third-tier Mirandes 3-2 on Tuesday.Suggest a correction