Aritz Aduriz's opener five minutes into the second-half had Barca on course for a fourth consecutive defeat in all competitions.
However, the Catalans showed fine spirit to respond as two goals in as many minutes from Pedro Rodriguez and Lionel Messi handed them all three points.
Victory lifts Barca into second place, two points ahead of Real Madrid having played a game more, but still four points adrift of leaders Atletico Madrid with four games remaining.
Defeat for Athletic also hots up the race for fourth place as the Basque side now lead Sevilla by just three points with the two sides set to meet next weekend.
After a difficult 10 days which saw his side eliminated from the Champions League, lose the Copa del Rey final to Real Madrid and see their title chances dented by defeat at Granada last weekend, Barca boss Gerardo Martino hailed his players resolve.
"In the first half I was thinking it would be one of those days because it is not normal that a team has so many chances and doesn't score.
"They kept playing and with a lot of heart in a difficult situation. More than just playing good football, which they always do, they showed a lot of courage and heart."
And Javier Mascherano insisted they have to keep the pressure on Atletico and Real to ensure they remain in a position to take advantage of any slip ups in the final month of the season.
"We need to cling on to the little chance we have, there is no point in the two teams above us slipping up if we don't win our games," he told Canal Plus.
"We are missing a lot of chances. Once again we had to come from behind, but that is the attitude that we have to show. We played well albeit we found it difficult to score," he said.


Latest News from Sports News Desk