A second-half equaliser by Ferran Torres rescued Barcelona on Thursday as the Spanish giants were held to a 1-1 draw at Eintracht Frankfurt in the first leg of their Europa League quarter-final.
Frankfurt, who had Brazilian defender Tuta sent off for a second booking late on, took the lead when Ansgar Knauff hit the top corner with a curling long-range shot just after half-time.
Barcelona had a let off when referee Srdjan Jovanovic reversed his decision to award a penalty when captain Sergio Busquets brought down Rafael Borre.
However, Barcelona fought back when Torres tapped in after combining with Frenkie de Jong in the 66th minute.
"To go behind but end up drawing might end up a very valuable result for the second leg," said Torres.
"Frankfurt were tough - they made things difficult. The main thing was that we were patient and the reward was that we got a good equaliser."
Torres' equaliser makes them favourites for the return leg at Camp Nou next Thursday.
"We put in a superb performance and didn't allow them much in the entire 90 minutes," said Frankfurt scorer Knauff.
"It's almost a bit annoying that we didn't hold on for the win, but anything is possible for the second leg."
"It was difficult to get a grip on the game, they defended well and didn't give us much space," admitted Barcelona coach Xavi Hernandez.
"We were better in the second half, they attacked us on the counter and they had their chance.
"We will have our fans behind us for the return to hopefully put us in the semi-finals."
Elsewhere, Jarrod Bowen scored as West Ham battled to a 1-1 draw at home to Lyon after Aaron Cresswell was sent off just before half-time for a foul on Moussa Dembele.
West Ham, playing in a European quarter-final for the first time in 41 years, went ahead in the 52nd minute when Bowen pounced on an error by Jerome Boateng.
Tanguy Ndombele, on loan from Tottenham, levelled for Lyon 14 minutes later.
"I thought the red card was cheap, if I'm really honest," Bowen told BT Sport.
In Portugal, Abel Ruiz hit a fine goal in the 40th minute as Braga defeated Rangers 1-0.
Braga were unfortunate not to have won by more after Ricardo Horta hit the post while the same player had a 25th-minute goal chalked off by VAR for a foul on Ryan Jack in the build-up.
An own-goal by Davide Zappacosta just before the hour mark allowed RB Leipzig to salvage a 1-1 draw at home to Atalanta.
Luis Muriel gave the Italian side a 17th-minute lead with a powerful drive which beat goalkeeper Peter Gulacsi.
Both sides hit the woodwork before Leipzig's Andre Silva missed a penalty after Christopher Nkunku had been brought down in the area.
Moments later, the home side eventually got on the scoresheet when, under pressure from Willi Orban, the unfortunate Zappacosta managed to push the ball past his own keeper.