Barcelona went level on points with La Liga leaders Real Madrid after grinding out a narrow win over Getafe.
Allan Nyom appeared to put third-placed Getafe ahead but his goal was ruled out by the video assistant referee for a foul on Samuel Umtiti.
Antoine Griezmann clipped Barca ahead from Lionel Messi’s excellent first-time pass and Sergi Roberto scored their second from Junior Firpo’s cross.
But Angel Rodriguez’s volley set up a tense finale.
The 32-year-old, who Barcelona are considering signing in an emergency deal, guided home an expert finish from 18 yards out from Jaime Mata’s cross. That was his eighth goal as a substitute this season.
Getafe almost rescued a point but Marc-Andre ter Stegen’s excellent save denied Angel a second.
Under La Liga rules, if a player is out for more than five months, then clubs can apply to sign one player from another La Liga club.
With Ousmane Dembele ruled out for up to six months – and Luis Suarez also sidelined – Barca are looking at several options, including Angel, who has a £7.5m buyout clause.
Messi has now failed to score in four consecutive La Liga appearances for the first time since October 2013 to January 2014 – although he had set up Barca’s previous six league goals before Roberto’s strike.
Real Madrid can re-establish their three-point lead on Sunday when they host Celta Vigo (20:00 GMT).