Lionel Messi scored in injury time to preserve Barcelona's unbeaten start to the season as they struggled in heavy rain in Bilbao to secure a 2-2 draw.
Barcelona conceded for the first time in 900 minutes of football and appeared destined for defeat when Gerard Pique's own goal gave Athletic Bilbao the lead with just ten minutes to go. However, Messi took advantage of a slip from Gorka Iraizoz in a drenched penalty area to lash home a late equaliser. Cesc Fabregas had earlier cancelled out Ander Herrera's opener.
Barcelona began brightly, stroking the ball around in impressive fashion, and great play between Xavi and Adriano gave the latter a fine shooting chance in the third minute but Iraizoz made the save.
However, Athletic made clear their intentions to take the game to the defending champions and Markel Susaeta had a good chance when Fernando Llorente laid the ball off for him to fire a piledriver goalwards, but it was straight at Victor Valdes.
The warning was not heeded by Barça, who fell behind in the 20th minute to a fine goal, with Susaeta driving down the wing before finding Herrera who curled the ball beyond the reach of Valdes. It was the first goal Barcelona had conceded in nine games, and this time they got the message as Fabregas replied four minutes later, meeting Eric Abidal's cross at the back post to head home.
Barça began to take control, and Messi slipped a ball through for Andres Iniesta but Iraizoz made a good save to deny him. But Athletic were still plugging away and a defence-splitting pass from Herrera released Iker Muniain but he could not get his shot right.
The Catalans had the ball in the net again in the 54th minute, but Messi was ruled to be offside when he met Fabregas' lobbed pass. Moments later, the hosts were appealing for a penalty when Herrera collided with Javier Mascherano, but the referee waved them away.
Fabregas then released Messi but Iraizoz denied him again as the weather made things more and more difficult for both sides to find a rhythm. And it was Athletic who took advantage of the disjointed game as they went back in front in the 80th minute thanks to a comical mix-up in the Barca defence, with Abidal's attempted clearance striking Pique and bobbling over the line.
Iniesta had a great chance to get Barça level again three minutes later when David Villa, on as a substitute, brilliantly controlled the ball and laid it off for Alexis Sanchez. The Chilean found Iniesta at the far post but he could only shoot into the side netting.
Messi then teed up Villa, but another fine save from Iraizoz kept his team in front. However, just when it appeared that Barcelona would suffer their first defeat, Messi fired in to snatch a point.