La Liga Wrap: Ronaldo nets 19th league treble
Bilbao, winless in their previous two league matches, came from behind and scored twice in the final 18 minutes in a 2-1 win over Levante.
David Barral had given the visitors a first-half lead at the Estadio San Mames, but Mikel Rico levelled for Bilbao on 72 minutes.
Substitute Aritz Aduriz was the hero with an 84th-minute effort before he was sent off for Ernesto Valverde's men, who moved into fifth.
But Bilbao's winless run looked set to continue when Barral put Levante ahead on 34 minutes as Jordi Xumetra set him up after beating his marker down the right.
The striker was denied by Bilbao goalkeeper Gorka Iraizoz from close range but reacted quickly to poke home the rebound.
The visitors only had themselves to blame for conceding an equaliser with 18 minutes remaining.
Goalkeeper Keilor Navas' unconvincing punch from a cross fell for Rico to volley into the bottom corner from inside the area.
The winner was a well-worked move and Aduriz – sent off in the second minute of additional time – got on the end of an Ander Iturraspe cross from the right to head in from just inside the box.
Elsewhere, Cristiano Ronaldo's 19th La Liga hat-trick helped Real Madrid cruise to a 5-1 win over Real Sociedad at the Bernabeu.
The away side started the match brightly, but Ronaldo gave Real an early lead as he fired home following Karim Benzema's pin-point left-wing delivery, before the Portuguese returned the favour for his French team-mate for the second soon after.
Real coach Carlo Ancelotti said before the match that he would not rotate Ronaldo - who has now scored nine goals in his past four games - while he is in such a rich vein of form, and the former Manchester United man repaid that faith by slotting in a penalty for his 161st La Liga goal and Real's third of the game on 26 minutes.
World-record signing Gareth Bale set up Sami Khedira for the fourth goal before the break, and although Antoine Griezmann scored in a fifth successive match for Sociedad after the break, Ronaldo ensured he would leave with the match ball by burying a 76th-minute free-kick.
In other matches, Getafe and Elche played out a 1-1 draw and Rayo Vallecano moved out of the relegation zone with a 2-0 victory at Celta de Vigo.