The first legs of the Europa League round of 32 are over. Here's what happened in Thursday's captivating group of matches.
CFR Cluj 1-1 Sevilla
Sevilla are in charge after January arrival Youssef En-Nesyri tapped in a precious away goal with eight minutes of normal time remaining. CFR Cluj defended stoutly throughout and held the lead for 23 minutes when veteran Ciprian Deac scored a penalty.
Club Brugge 1-1 Manchester United
Club Brugge would've felt aggrieved at not being ahead at the break. Anthony Martial canceled out Emmanuel Dennis' earlier lob, prompting an upturn in Manchester United's performance thereafter. The match ended in a draw, but the Belgian club has enough talent in its ranks to spring a surprise at Old Trafford.
FC Copenhagen 1-1 Celtic
Celtic are now winless in their past 10 knockout matches in UEFA competitions - a torrid record which dates back to a Henrik Larsson-led victory against Boavista in 2003. But, on paper, a 1-1 draw at FC Copenhagen isn't a terrible result for Celtic, especially when Jens Stage's late spot-kick was tipped onto the post by Fraser Forster.
Eintracht Frankfurt 4-1 Red Bull Salzburg
Eintracht Frankfurt midfielder Daichi Kamada scored a hat-trick in 53 minutes to help his side to a massive 4-1 first-leg advantage. Red Bull Salzburg, who lost Erling Haaland and Takumi Minamino in the January transfer window, are almost tumbling out of Europe despite going toe-to-toe with Liverpool and Napoli in the Champions League group stage.
Getafe 2-0 Ajax
Ajax, and Ryan Babel in particular, were unnerved by Getafe's aggressive approach in the heart of Spain. Deyverson scored the first goal of his loan spell from Palmeiras in the 37th minute and Marc Cucurella was a constant threat before his late substitution. Then, just when it seemed Ajax were fortunate to get away with just a 1-0 loss, Kenedy struck three minutes into added time. The Dutch giants have it all to do in the second leg.
Ludogorets 0-2 Inter Milan
Ludogorets restricted Inter Milan to only two shots on target in the opening period but were finally broken down in the 71st minute when Christian Eriksen struck his first goal for the Nerazzurri. Romelu Lukaku slotted in a penalty deep into injury time to give Antonio Conte's side a commanding lead for the reverse fixture.
Shakhtar Donetsk 2-1 Benfica
The tie is finely poised following an entertaining affair in Metalist. Viktor Kovalenko notched the winner 18 minutes from time after Shakhtar Donetsk won possession deep into Benfica territory, but Pizzi's penalty midway through the second half could be crucial for the Eagles.
Sporting CP 3-1 Istanbul Basaksehir
Will Sporting CP be made to regret that late away goal? A one-sided scoreline was tarnished when Luis Neto barged Demba Ba over in the area, allowing Edin Visca to convert a 77th-minute penalty for Istanbul Basaksehir. Neto will be suspended for the second leg after his yellow card, so he will join fellow defender Jeremy Mathieu, who's nursing an Achilles issue, on the sidelines in Turkey.
APOEL Nicosia 0-3 Basel
Three long balls by Basel ended with goals for Raoul Petretta, Valentin Stocker, and Arthur Cabral at APOEL Nicosia. It's nearly over for the Cypriot club, which beat Athletic Bilbao to reach the Europa League last 16 in the 2016-17 campaign.
AZ Alkmaar 1-1 LASK
Teun Koopmeiners scored the eighth and final penalty from this slate of fixtures in the 86th minute of AZ Alkmaar's visit from LASK. The Dutchmen didn't make the most of their superior possession, firing seven shots to the Austrian club's nine.
Bayer Leverkusen 2-1 FC Porto
Luis Diaz bundled the ball over the line in the 73rd minute to take an away goal to the Estadio do Dragao. That could haunt Bayer Leverkusen, who led 2-0 through goals from Lucas Alario and Kai Havertz and were better than FC Porto in almost every aspect of Thursday's first leg.
Olympiacos 0-1 Arsenal
Mikel Arteta made five changes from the side that started Sunday's impressive 4-0 trouncing of Newcastle United, and it showed. Alexandre Lacazette's 81st-minute finish was against the run of play but put Arsenal in the driver's seat for next week's rematch in north London. Olympiacos seemed shell-shocked after the late setback and could've conceded one or two more goals before the final whistle.
Rangers 3-2 Braga
A sensational 35-yard strike by Braga captain Fransergio was soon buried by the narrative that unfolded in Glasgow. Rangers made amends for their recent domestic frustrations by fighting back from a two-goal deficit with a Ianis Hagi brace and a great individual effort by Joe Aribo. The two teams conclude the double-header in the Minho Province next week. It should be worth a watch.
Roma 1-0 Gent
Gent's knack for scoring late goals didn't continue in the Italian capital as Roma saw out a 1-0 win at the Stadio Olimpico. Carles Perez scored what turned out to be the winner in the 13th minute, but the locals had to rely on goalkeeper Pau Lopez for a few important saves in the second half. This two-legged meeting is far from over.
Wolfsburg 2-1 Malmo FF
Kiese Thelin opened the scoring for Malmo FF with a penalty, but was then saddled with an own goal after Admir Mehmedi's header deflected off him and into the net. Josip Brekalo had already netted a powerful finish before Thelin's unfortunate blunder, so Wolfsburg have a slender advantage for the second leg in Lower Saxony.
Wolverhampton Wanderers 4-0 Espanyol
Many thought Nuno Espirito Santo's side would struggle with the extra workload from competing in the Europa League, but Wolverhampton Wanderers are handling it just fine. Diogo Jota scored a hat-trick, but it was Wolves' second goal that was a real thing of beauty. Ruben Neves tamed an aerial ball on his chest before walloping an unstoppable volley beyond Andres Prieto. It was like a less technical yet more venomous version of James Rodriguez's famous effort for Colombia at the 2014 World Cup.