A 96th-minute header from substitute Luuk De Jong saw Barcelona rescue a 2-2 draw away at city rivals Espanyol in LaLiga on Sunday in a game where both sides had a man sent off in the closing stages.
Espanyol looked set for a first home league victory over Barca in 15 years before De Jong turned in Adama Traore's cross to salvage a point.
Xavi Hernandez's side moved back into the fourth and final Champions League spot as a result -- level on 39 points with Atletico Madrid and one ahead of Real Sociedad in sixth.
"We needed to be calmer on the pitch throughout, we were a bit hectic and we need to improve that," Barcelona midfielder Pedri told Movistar.
"Granted, it's a point after coming back from a losing position, but we're disappointed. We came here for three points and are leaving with just one."
It had looked like Barca would be in for a comfortable evening when they took the lead inside the first two minutes when Pedri turned in Jordi Alba's cross from close range.
Ferran Torres and Traore both went close for the visitors, but they were pegged back on the stroke of halftime as Sergi Darder curled an effort in from the edge of the box after good work from Raul de Tomas.
Barca midfielder Gavi also had a goal ruled out by VAR 10 minutes after the restart as they sought to retake the lead.
But they were made to pay for some lax defending by substitute Eric Garcia on 64 minutes as Darder returned the favour, sending De Tomas away with a ball over the top.
The former Real Madrid player coolly finished and looked to have won the game for the hosts.
With tempers flaring late on, Gerard Pique and Nico Melamed both saw red following a coming together off the ball before De Jong's late effort saw the spoils shared.