Henrikh Mkhitaryan scored his first Arsenal goal as the London club rebounded from four successive losses with a 2-0 win at AC Milan in the first leg of the Europa League last 16 on Thursday.
There was another surprise in Germany where two goals from Valon Berisha led Salzburg to a 2-1 victory at Borussia Dortmund.
Atletico Madrid recorded a comfortable 3-0 home win over Lokomotiv Moscow while CSKA Moscow was beaten 1-0 in Russia by Lyon.
Fredy Montero's two goals guided Sporting past Viktoria Plzen 2-0 and Leipzig, which knocked out Serie A leader Napoli in the round of 32, defeated Zenit 2-1.
Lazio was held to a 2-2 home draw by Dynamo Kyiv while Marseille struck in the first minute on the way to a 3-1 victory over Athletic Bilbao.
A minute's silence was observed at every match in honour of Davide Astori, the Italy and Fiorentina player who died last week at the age of 31.
In a tussle of two heavyweights with proud histories, Arsenal went ahead after 15 minutes when Mkhitaryan, signed from Manchester United in January, saw his right-foot shot deflect into the net off Milan captain Leonardo Bonucci.
Mkhitaryan also hit the crossbar towards the end of the first half.
Bonucci almost levelled for Milan two minutes before the interval when he rose in the penalty area to head a corner narrowly wide.
Mesut Ozil then laid on the second goal in first-half stoppage time for Aaron Ramsey, who went round goalkeeper Gianluigi Donnarumma to give his team a healthy advantage to take into the second leg at the Emirates Stadium next Thursday.
"Our best away performance for a long time," Ozil tweeted.
Saul Niguez fired a spectacular shot from 25 metres to put Atletico in front against Lokomotiv in the 22nd minute before Diego Costa added his sixth goal in 13 matches since rejoining the club from Chelsea.
Costa pounced to score after Antoine Griezmann's goalbound effort was saved before captain Koke made it 3-0 in the final minute.
Atletico has reached two Champions League finals since winning the Europa League in 2012.
Marseille didn't waste any time against Bilbao as Lucas Ocampos netted inside the first minute after collecting a pass from the marauding Florian Thauvin.
Captain Dimitri Payet made it 2-0 after 14 minutes. Aritz Aduriz pulled one back for Bilbao from the penalty spot in injury time before Ocampos struck again in the second half after Payet had set him up.
Berisha was twice on target early in the second half, his opener coming from the penalty spot, to put Salzburg on top before Andre Schurrle pulled a goal back for Dortmund.
Lyon was indebted to a 68th-minute header from Marcelo as the French team triumphed at CSKA.
Leipzig squandered numerous chances against Zenit before Armindo Bruma scored in the second half after Timo Werner had set him up with a brilliant backheel.
Werner added the second with a lob over goalkeeper Andrei Lunev but Domenico Criscito got one back for Zenit from a free kick.
After scoring a hat trick in the previous round, Ciro Immobile equalized for Lazio with his 32nd goal of the season two minutes after Viktor Tsygankov had put Kyiv 1-0 up.
Felipe Anderson made it 2-1 to Lazio before substitute Junior Moraes levelled 11 minutes from time.
Montero struck for Sporting in the last seconds of the first half against Plzen and the Colombian added a second goal four minutes after half time.