FC Barcelona remain 11 points clear of Real Madrid following a 2-1 defeat away to Rayo Vallecano on Wednesday night.
Barcelona made change as Pedri came in for veteran Sergio Busquets following their narrow victory over Atletico Madrid on Sunday afternoon.
After a tense start, Rayo hit the front before the 20th minute when Alvaro Garcia latched on the end of Sergio Camello's pass and nestled the net through a smart finish.
Barca went looking for an instant reply and came close with a first-time attempt by Robert Lewandowski following Raphinha's delivery, but goalkeeper Stole Dimitrievski palmed away.
Xavi Hernandez's men continued to probe and looked to have gone level when Lewandowski got in the area and finished off a ball from Pedri though the offside flag went up.
The home team regained energy and came close to doubling their lead later on with a header by Camello in the area off Garcia's cross, but it was saved by Marc-Andre Ter Stegen.
In the second half, both teams were renewed as the host looked to double their lead to Barca searching for the equaliser but neither managed to capitalise.
Rayo did though increase their lead nine minutes from the break when Fran Garcia skipped past Ronald Araujo in the area and planted a low shot past Ter Stegen.
A double substitution from Xavi four minutes later saw Ansu Fati come on for Torres and Alonso withdrawn for veteran full-back Jordi Alba.
Vallecano continued their dominant spell though midway through the second half and almost had a third when Camello beat Alba to a long ball and volleyed wide.
With the tempo slowing down, the Catalans pulled one back seven minutes from time when Lewandowski showed sharp instincts and finished off a loose ball around the area.
Barca's confidence were restored afterwards and nearly pulled level in added time through a half-volley from Raphinha following a flick by Lewandowski, but it hit the side-netting as Rayo claimed a shock win.
You must be SIGNED IN to read and post comments.