Real Madrid forward Vinicius Jr came off the bench to snatch a 1-1 draw at home to Real Sociedad on Monday although the Spanish champions still lost momentum in the title race ahead of next week's showdown at leaders Atletico Madrid.
Still missing key players due to a litany of injuries, Zinedine Zidane's Madrid side hit the bar twice in the first half but the visitors took the lead in the 55th minute with a towering header from forward Portu.
Toni Kroos came close to levelling with a curling effort that just missed the target but Brazilian youngster Vinicius eventually found an equaliser in the 89th minute with a deflected effort from inside the area.
Madrid had the chance to move within three points of Atletico ahead of Sunday's derby but the draw left them third on 53 points from 25 games, level with second-placed Barcelona and five adrift of Diego Simeone's leaders, who have a game in hand.
"I think we deserved a lot more, looking at the chances we had. But we didn't score, above all in the first half, which would have changed the game. We dominated but that's football," Zidane said. "We've had games we've won but didn't deserve to. We're fine, five wins and a draw, we have to keep thinking there's a lot left.
"I don't know if it was the best [performance of the last six] but it's true we played a good game. We drop two points, I'm annoyed for the players after the effort they made. We can be happy with what we're doing. We dominated the game, clearly."
"We had a good first half, we started the second badly then they scored a great goal. We got one back but there was no time left to get a second," said Madrid keeper Thibaut Courtois.
The visitors felt they should have had been awarded a penalty in the first half when Nacho Monreal was felled by Casemiro, yet Madrid looked the more dangerous side despite only managing one shot on target before the break.
Striker Mariano's header was glanced onto the crossbar by Sociedad's Andoni Gorosabel while the loose ball fell to Marco Asensio, whose shot was deflected wide for a corner from which Raphael Varane header hit the top of the bar.
Casemiro fizzed a shot from distance just wide, while Luka Modric was the only player who actually tested visiting keeper Alex Remiro.
After taking the lead against the run of play through Portu's thumping header, Sociedad should have killed the game off as Alexander Isak narrowly failed to connect with a cross from Portu, while Robin Le Normand came close with a header.
Madrid lacked composure and ideas but maintained their hunger to find an equaliser and finally got one with a scrappy goal, Lucas Vazquez serving a low cross which bobbled around the box and was knocked in by Vinicius with the aid of a deflection.
"We leave here with a bad taste as we fought for 93 minutes and gave everything," said Sociedad's Portu. "We tried to hold on for the win but they kept attacking and got the equaliser."
The draw leaves Sociedad fifth on 42 points from 25 matches, six behind fourth-placed Sevilla who have a game in hand.