We're giving too much away, says Xavi after Barcelona draw at Rayo
Surprise leaders Girona and rivals Real Madrid in second now have the chance to extend their lead on the third-place Catalans over the next two days.
Unai Lopez drove Rayo ahead from long range in the first half but Barca levelled through Florian Lejeune's own goal in the 82nd minute.
The draw adds to the doubts around Barcelona, who have not been at their best for several weeks and face Porto on Tuesday seeking Champions League knock-out round qualification.
"I think it was a game of two halves, in the first we dominated but we weren't aggressive enough to cause damage," Xavi told DAZN.
"In the second we were, we scored a goal and could have had others ... we need to win these games if we want to win the league.
"We have to be self-critical, it's costing us too much this season giving things away ... in modern football a lot changes when they score against you."
Inaki Pena started in goal for Barca with Marc-Andre ter Stegen out with a back problem, while Xavi turned to the fit-again Frenkie de Jong to replace the injured Gavi in midfield.
The 19-year-old's cruciate ligament tear will keep him out for the season, with Barcelona losing a player the coach has described as the "soul" of the team.
Barcelona players wore shirts before kick off with his name on the back, and a message saying "we are with you, Gavi".
Pena spilled the ball the first time he was called into action but recovered quickly to clear up the danger.
The goalkeeper then denied Oscar Valentin after De Jong lost the ball on the edge of his own box.
Hosts Rayo started well, encouraged by having beaten Barca on three of their four previous clashes, including twice at their ramshackle Vallecas stadium.
They took the lead after 39 minutes when Lopez hammered a superb effort into the bottom right corner from around 30 yards out after the ball was cleared into his path.
Rayo came close to adding a second in stoppage time but Alejandro Balde was alert to cut Jorge de Frutos' low cross out with two Rayo attackers ready to pounce.
Lack of intensity
Xavi said Barca would miss Gavi's "intensity, heart and courage" against Francisco Rodriguez's side and he was proven right, although they improved a little after the break.
Ferran Torres might have levelled early in the second half with a header but sent it too close to Rayo goalkeeper Stole Dimitrievski.
Xavi immediately replaced the winger, along with Oriol Romeu after another disappointing shift at the base of Barca's midfield, sending Ilkay Gundogan and Joao Felix on.
Pedri headed narrowly over from Robert Lewandowski's cross and Inigo Martinez nodded a Gundogan free kick off target too as Barca sought the equaliser.
Raphinha's raking effort struck the post and Rayo hacked Lewandowski's attempted finish from the rebound off the line.
Eventually the Catalans levelled with eight minutes remaining when Lejeune diverted Balde's cross into his own net, under pressure from Lewandowski.
Raphinha appealed for a penalty in stoppage time when he fell after Pacha Espino challenged him, but the officials did not oblige.
"We didn't play well, we weren't at the level that we can be," De Jong told DAZN.
"We have to work to improve - the plan is good, we are confident, everyone ran as much as they could.
"I think that we weren't good in possession."
Barcelona now have failed to beat Rayo in five matches and could fall six points behind Girona if their neigbours beat Athletic Bilbao on Monday at Montilivi.
Real Madrid, two points clear of Barca, visit Cadiz on Sunday, while fourth place Atletico Madrid host Mallorca later Saturday.