Valencia tighten grip on third place
Fourth-placed Villarreal twice came from behind to rescue a 2-2 draw at Racing Santander and Valencia's victory stretched their lead over their local rivals to four points with 25 matches played.
Valencia have 51 points, 10 behind second-placed Real Madrid, who slipped seven behind leaders Barcelona when they were held to a 0-0 draw at Deportivo La Coruna on Saturday.
World Player of the Year Lionel Messi netted a rare header to set Barca on their way to a 3-0 win at Real Mallorca and lift the champions to 68 points.
At a typically boisterous San Mames, Bilbao looked set to end a run of two straight defeats when Spain striker Fernando Llorente put the home side ahead in the 14th minute.
However, Llorente's international team-mate Juan Mata levelled in the 71st after good work from winger Joaquin before Brazilian Jonas pounced on the rebound from a Tino Costa shot to grab the winner with around 10 minutes left.
Villarreal, with their distinctive canary-yellow strip, had earlier failed to build on their Europa League victory over Serie A side Napoli.
Juan Carlos Garrido's side have not won in their last four league games, losing twice and drawing 1-1 at home to bottom club Malaga.
Racing, meanwhile, are undefeated since Indian businessman Ahsan Ali Syed completed his takeover of the club at the end of January and stayed in 12th on 29 points, five clear of the relegation places.
They took the lead at a festive Sardinero stadium in the third minute when burly forward Ariel tapped in from close range, sparking wild celebrations from Ali Syed in the stands.
Villarreal's woes were compounded when Garrido was sent from the bench early in the second half but they grabbed an equaliser in the 66th via Marco Ruben's header.
Racing substitute Giovani Dos Santos struck a superb goal two minutes later when he raced on to a Pedro Munitis pass and directed a low shot past Diego Lopez before striker Nilmar bundled home for the visitors in added-time.