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.
Torres’ equaliser makes them favourites for the return leg at Camp Nou next Thursday.   A sell-out home crowd of 48,000 created a highly-charged atmosphere.
It inspired Frankfurt to create 18 shots on goal, to Barcelona’s seven. There was a huge roar from the Frankfurt crowd when the referee pointed to the spot after Busquets brought down Borre on 38 minutes as the Colombia striker tried to pounce on a loose ball.
The penalty decision was reversed after a VAR review, but the hosts went ahead soon after the break. Barcelona cleared a corner only as far as Knauff who unleashed a dipping half-volley just out of reach of goalkeeper Marc-Andre ter Stegen.
Barcelona equalised when substitutes Ousmane Dembele and De Jong combined before the latter teed-up Torres to fire home. Frankfurt were reduced to 10 men for the final 12 minutes when Tuta picked up a second booking after a mistimed challenge on Pedri.
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.  
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.