Rangers stunned Borussia Dortmund 4-2 in the Europa League on Thursday, while Barcelona had to come from behind to draw 1-1 at home to Napoli in their play-off draw.
In Dortmund, James Tavernier gave Rangers the lead with a 38-minute penalty after a handball by Dan-Axel Zagadou from a corner.
Three minutes later, Dortmund again failed to process a corner kick from Rangers.
Joe Aribo nodded the ball to the far post where Alfredo Morelos went unmarked and scored from close range.
Four minutes after the break, Ryan Kent, who tormented Dortmund all night, found John Lundstram scoring with a powerful attack.
Jude Bellingham answered for the home side with a raspy left footed shot.
But two minutes later, Rangers scored again when Zagadou, trying to give Morelos another tap, bounced the ball into his own goal.
Pedro Guerreiro narrowed the deficit with eight minutes to go with a ferocious long-range left foot, but Rangers survived without further fear.
“It’s a great night, but only a great night,” said Rangers manager Giovanni van Bronckhorst.
“We are not through to the next round, that’s what we want. We know we have to put in a good performance next week.”
Napoli achieved a 1-1 draw in Barcelona.
The visitors, who are battling for the Serie A title, opened the scoring at the Camp Nou against a home side poised to finish in the top four in La Liga.
Polish midfielder Piotr Zielinski ran on his own rebound to put the ball in in the 29th minute.
Barcelona increasingly dominated possession, but needed one of four penalties awarded by VAR for hands-on Europa League on Thursday to equalize.
A cross from Adama Traore hit Juan Jesus on the arm in the 59th minute.
Ferran Torres converted the penalty with confidence for his first Camp Nou goal for Barcelona, but his composure failed him as he knocked two good chances over the bar as Barcelona dominated the closing stages.
– ‘Not friendly’ –
“We played very good football,” said Barca coach Xavi.
“But of course it’s not a friendly game, it’s the Europa League. The result is unsatisfactory, but I’m very happy with the performance.”
Real Betis, who won 3-2 at Zenit St Petersburg, and Sevilla, who beat visiting Dinamo Zagreb 3-1, both stayed on course for the final in their home city.
Ivan Rakitic gave Sevilla the lead from the spot.
The next three goals came just before half-time in four minutes.
Mislav Orsic equalized for the visitors, but Sevilla responded quickly via Lucas Ocampos and Anthony Martial, with his first goal since coming from Manchester United.
Zenit, who has only played friendlies since their last match in the Russian league on December 12, looked rusty from the start when he gave in to Guido Rodriguez and Willian Jose in the opening 18 minutes.
Artem Dzyuba and Malcolm tied Zenit with goals three minutes apart, but the home side then presented Betis with the winner in the 41st minute.
Aitor Ruibal ambushed Yaroslav Rakitskyy and found Andres Guardado curling the ball into the goal.
Real Sociedad took a 2-2 draw at RB Leipzig.
The Basques led twice, first with a goal from defender Robin Le Normand. Christopher Nkunku tied the score.
Mikel Oyarzabal restored the lead with a penalty, but Emil Forsberg tied the score from the spot with eight minutes to go.
Atalanta came from behind to lead Olympiacos 2-1 in Bergamo.
Albanian defender Berat Djimsiti, who had not scored since November 2018, struck twice within two minutes of corners.
In Tiraspol, Braga dominated possession and had more attempts, but Sheriff won 2-0.
Luxembourg midfielder Sebastien Thill converted a penalty in the first half and while Braga pressed it, Sheriff sealed victory on the counter-attack in the 83rd minute with a goal from their Adama Traore.
In the Europa Conference League, Celtic had a less distinguished evening than their Glasgow rivals, losing 3-1 at home to Norwegian Bodo/Glimt.
Leicester reacted after Vito Hammershoj-Mistrati of Randers canceled an earlier goal by Wilfried Ndidi just before half-time.
Goals from Harvey Barnes, Patson Daka and Kiernan Dewsbury-Hall ensured a 4-1 win.