Neymar was sent off for Barcelona as they lost at Malaga and failed in their bid to go level on points with La Liga leaders Real Madrid.
The current Spanish champions were given a boost after Real’s 1-1 draw with city rivals Atletico earlier.
However, a first-half strike from ex-Barcelona forward Sandro Ramirez and a late effort from Jony Rodriguez ended their hopes.
Forward Neymar was sent off in the 65th minute after receiving a second yellow.
The Brazil international – with 15 goals for Barca this season in all competitions – had brought down Diego Llorente with a late challenge, and then sarcastically applauded as he made his way off the pitch.
The 25-year-old is set to be suspended for the next league game against Real Sociedad on 15 April. But he could receive a longer ban if his reaction to the red card is deemed as contempt of the officials, which would mean he would miss the potentially season-defining El Clasico at the Bernabeu on 23 April.
Barca barely troubled Malaga keeper Carlos Kameni, although the Cameroon international did make two good saves to block two firm efforts from Luis Suarez.
Malaga, who began the match in 15th spot, looked far more threatening, especially on the counter-attack. They took the lead in the 32nd minute when Sandro – who left for Malaga this summer – fired past Marc-Andre ter Stegen.
In the second half they had a goal disallowed when Adalberto Penaranda was wrongly flagged offside before they finally scored their second. Pablo Fornals’ square ball found Rodriguez, who slotted in from 10 yards out.
The defeat means Barcelona remain on 69 points, three behind Real who have a game in hand.