Those two dropped points allied to Real Madrid's win at city rivals Atletico means Tito Vilanova's men have seen their lead cut to 11 points with five games left, and must now try to get the job done at home to Real Betis next weekend.
Barca were out of sorts for an hour at San Mames today and deservedly trailed to Markel Susaeta's first-half goal, but the introduction of substitute Lionel Messi swung the match as he scored one and teed up another for Alexis Sanchez.
It looked like the points would go back to Barcelona and ramp up the pressure on Real, but instead Ander Herrera popped up to deny the visitors at the death.
Real came from behind to beat Atletico 2-1 at the Vicente Calderon.
Jose Mourinho's visitors produced an uninspiring performance and struggled for large parts of the game, but they made the most of their chances.
The potent Radamel Falcao gave Atletico the lead after four minutes but an own goal by Juanfran levelled things up a few minutes later.
Angel Di Maria hit the winning goal midway through the second half as Real moved six points clear of Atleti in the battle to finish second.
Real Zaragoza hauled themselves off the foot of the standings with a thrilling 3-2 win over fellow strugglers Real Mallorca.
Tomer Hemed's early opener for Mallorca was cancelled out by Paco Montanes and Helder Postiga, but the Balearic islanders looked to have nicked a point when Javier Arizmendi scored seven minutes from time.
However, in a thrilling finale, Ruben Rochina fired Zaragoza back in front before Arizmendi saw an effort ruled out for offside.
The result ended a run of 10 league matches without a win for Zaragoza but, more importantly, lifted them above their opponents who now prop up the standings.
Celta Vigo moved out of the relegation zone after Augusto Fernandez's goal saw them to a 1-0 win away to Levante, the Argentinian heading home midway through the first half.
In Friday's only game, Rayo Vallecano missed the chance to close in on an European spot as they had to come from behind to draw 2-2 with relegation-threatened Osasuna.
Saturday's La Liga Results
Friday's La Liga Results