Barcelona dominated early proceedings and almost took the lead when Cesc Fabregas flashed a shot across the face of the goal from a tight angle.
Xavi and Thiago combined well to set up Alex Song but his shot was well saved by Iraizoz. Just a few minutes later, Xavi's shot flew just wide of the post.
But Bilbao took the lead just before the half-hour mark through Susaeta. Aduriz ran at the Barcelona defence and beat Daniel Alves before drilling in a low cross for Susaeta to tap in at the far post.
Barcelona dominated possession for the remainder of the first half, but Bilbao had the chance to make it 2-0 on the stroke of half time. Aduriz timed his run well to meet a deep cross just six yards out, but could not keep his header down.
Adriano replaced Eric Abidal at the break for the Catalan club, but the defender earned a booking for a foul on Susaeta 10 minutes into the second half. From the resulting free kick, Susaeta struck the top of the bar.
In search of a goal, Barcelona brought Lionel Messi on to replace captain Xavi and the substitution paid dividends. The four-time 'World player of the Year' skipped past three defenders before bending a shot into the bottom corner from the edge of the box.
Just a few minutes later, Barcelona took the lead. Alves's cross was nodded down to Alexis Sanchez by Messi, and the Chilean swept the ball home from close range.
Messi almost got his second of the game with a free kick with four minutes remaining, but his effort whistled just wide of the post.
But Barcelona were made to pay for their wastefulness as Herrera swept home a half-volley to draw the sides level on the stroke of full time.