Lionel Messi scored his 700th career goal for club and country but Atletico Madrid came back to draw 2-2 and further dent Barcelona's title hopes.
In a compelling encounter, Diego Costa inadvertently redirected a corner by Messi into his own net (11) before Saul Niguez scored from the spot (18) after Costa had originally had his effort saved by Marc-Andre Ter Stegen but it was ordered to be retaken as the goalkeeper was off his line.
Messi's moment came in the second period when scoring his landmark goal with a Panenka penalty (50) past Jan Oblak meaning he's now scored 630 club goals to go with 70 for Argentina.
However, Atletico won the third penalty of the match minutes later when Yannick Carrasco was tripped by Nelson Semedo and Saul just about beat Ter Stegen from 12 yards.
Barcelona's third draw in four matches leaves them in second place, one point behind Real, who have the chance to open up a four-point lead against Getafe on Thursday with five more matches remaining.
How Barca slipped up again...
After an end-to-end start, Barcelona opened the scoring on 11 minutes when Costa misjudged a fierce Messi corner at the near post and deflected it past Oblak.
Costa's night got worse shortly after when his penalty - won by Carrasco, who drew a foul from Arturo Vidal - was blocked by Ter Stegen. However, confusion reigned when the referee asked for it to be retaken with replays eventually showing that the goalkeeper was slightly off his line when denying Costa's weak spot kick.
Saul stepped up instead of Costa and converted to level the scores.
Messi clipped the post with a curling effort before the break as it seemed his wait for goal number 700 would go on but he would eventually take centre stage.
He restored the hosts lead on 56 minutes by coolly scoring a penalty in the Panenka style after Semedo was clipped by Felipe.
Perhaps the celebrations surrounding Messi's landmark strike took Barcelona's eye of the ball as Atletico were quick to reply. The speed of forward Carrasco caused the hosts yet more problems as he was clipped by Semedo when charging into the box.
Ter Stegen guessed the right way for Saul's penalty but it wasn't enough to keep it out.
Elsewhere in La Liga, Sevilla boosted their chances of qualifying for the Champions League by beating struggling Leganes 3-0 away from home to tighten their grip on fourth place in La Liga and send their opponents tumbling closer to relegation.
Midfielder Oliver Torres scored twice before the interval to give Julen Lopetegui's side control while forward Munir El Haddadi rounded off the scoring late on to crown Sevilla's first win in five matches, having drawn their last four fixtures.
The victory took fourth-placed Sevilla onto 57 points after 33 games, five ahead of Getafe in fifth, although the Madrid side have a game in hand.
Leganes, meanwhile, edged closer to being relegated for the first time since reaching the top flight in 2016 as they are nine points from escaping the relegation zone with only 15 points left to fight for.
Earlier on Tuesday, Real Mallorca breathed life into their La Liga survival hopes by thrashing Celta Vigo 5-1 in a relegation tussle, earning victory for the first time since the season returned after the coronavirus stoppage.