Real Madrid and Manchester City both found the going tough in the Champions League group stage on Tuesday night but battled through to draws that were enough to qualify for the knockout stages.
Paris Saint-Germain and Benfica also moved closer to the last 16 with a draw at Parc des Princes, after Maccabi Haifa had earlier upset Juventus in the same group.
On a bad night for Italian titans, AC Milan played almost the whole match with 10 men as they lost at home to Chelsea. In Copenhagen, City's Riyad Mahrez wasted a 25th minute penalty and five minutes later defender Sergio Gomez was sent off.
Pep Guardiola had rested several starters, including Erling Haaland, with an eye to the weekend's meeting with Liverpool, and his team failed to score for the first time in 24 games, but the coach was content.
"To play one hour like that is tough. The players gave absolutely everything," Guardiola said.
Neither Copenhagen nor Sevilla has won a game yet in Group G and when the Spaniards drew 1-1 in Dortmund in the later match, it ensured Manchester City would advance.
Carlo Ancelotti, the Real Madrid coach, also had an eye on a big upcoming league game, the Clasico against Barcelona on Sunday, and rested several starters against Shakhtar Donetsk in Warsaw.
They almost paid. Oleksandr Zubkov gave the Ukrainian club the lead at the start of the second half.
The game had entered the last of five minutes added time when Antonio Rudiger leapt to reach a long ball forward and got to it just before goalie Anatoliy Trubin.
As the two men fell to the ground bleeding, the ball went in on a post to secure Real a 1-1 draw and a last 16 spot.
"We did not play well, but this team never gives up," Ancelotti said. "We are in the last 16, on a night that looked bad."