Sociedad's fourth victory in seven away matches moved it into third place, behind the league's two traditional powerhouses on goal difference. Atlético Madrid and Sevilla are one point behind. Granada fell to sixth place at two points off the pace after missing a chance to retake the league lead with a win.
Granada, the surprise of the season after returning to the top flight, had kept four straight clean sheets at home before Portu struck his first goal in the 21st from a pass by Mikel Oyazabal. Álvaro Vadillo equalized in the 36th with a free kick that Alejandro Remiro let bounce in front of him, hit his hands, and slip past in a glaring error by the goalkeeper.
But Sociedad coach Imanol Aguacil made attacking substitutions to go for the full three points. The move paid off when late substitute Adnan Januzai helped Portu to grab the 89th-minute winner. Both of the visitors' goals came after pressure forced poor passes from Granada's defenders.
"I am happy for the goals, but also to be able to look at the standings and see us at the top," Portu said. Sociedad was without top playmaker Martin Odergaard, who is nursing a right foot injury. ON THE ROPES
Celta Vigo manager Fran Escribá acknowledged that his job is at risk after his team lost 1-0 to Getafe at home in another poor performance. Celta started the season with big hopes after bringing in forward Santi Mina and midfielder Denis Suárez to support striker Iago Aspas, but it has lost four games in a row and has slipped into the relegation zone.
"Logically, the players are down, not just for today but for all the season. We have had terrible results this month," Escribá said. He didn't have "any doubts" about turning it around but "I understand the situation is delicate and that the coach is always the first to go."
GREAT GOALKEEPING Athletic Bilbao escaped with a point from a 0-0 draw at Villarreal thanks to the brave goalkeeping of Unai Simón. Simón made several difficult saves, including using his face to block a point-blank shot from Gerard Moreno that left him with a bright red mark from the impact.
"I think we did enough to win the match," said coach Javier Calleja after his 100th match in charge of Villarreal. "But their goalkeeper was very good. He was the star of the match." HOME RECORD Osasuna broke a club record with 31 consecutive games without a loss at home when it beat Alavés 4-2 in a match that included three penalties.
The unbeaten run dates back to when Osasuna played in the second division before returning to the top flight this season. Jagoba Arrasate's side has since impressed with only two losses in 12 rounds, including a 2-2 home draw with Barcelona.
"It is an honor to write our names into the history of this club," said Roberto Torres, who scored the hosts' third goal. OTHER RESULTS Valladolid eased to a 3-0 win over Mallorca. Valladolid, a modest club owned by former Brazil great Ronaldo, has only lost once in the last seven rounds.
Eibar fought back for a 2-1 win at bottom side Leganés, with Kike García scoring the 84th-minute winner. It was Eibar's first victory on the road this campaign.
More AP soccer https://apnews.com/Soccer and https://twitter.com/AP_Sports