Leicester City made it three wins out of three in the Champions League — the first English side ever to do so in Europe — as they beat FC Copenhagen 1-0 at the King Power Stadium.
Leicester were the better side in the opening exchanges and Riyad Mahrez struck after 40 minutes when Islam Slimani headed the ball across to him.
Andreas Cornelius almost headed home an equaliser just before half-time, but his effort from a corner skidded just wide.
Mahrez had a great chance to double the lead in the 63rd minute but tried to take on one too many players and his shot was blocked, while Slimani had a goal ruled out for offside.
Kasper Schmeichel made a fine late save from Cornelius as Leicester held on to go five points clear in Group G.
Real Madrid swept past struggling Legia Warsaw at the Bernabeu, winning 5-1.
After struggling Legia had made a bright start, hitting the post through Vadis Odjidja-Ofoe after 12 minutes, Madrid calmed any early nerves when Gareth Bale cut in from the right and fired a thumping drive past goalkeeper Arkadiusz Malarz on 16 minutes.
Four minutes later it was 2-0 when Marcelo’s effort flew in off Tomasz Jodlowiec for an own goal, but Miroslav Radovic converted from the penalty spot to halve the deficit within two minutes after Danilo’s foul.
But with 37 minutes played the hosts restored their two-goal cushion, Asensio stroking in a finish from the edge of the area after unselfish work from Ronaldo.
After the break, Madrid boss Zinedine Zidane replaced James Rodriguez and Bale with Lucas Vazquez and Alvaro Morata, and Vazquez fired home a cross from his fellow substitute to make it 4-1. Demoralised Legia conceded an 84th-minute fifth when Ronaldo teed up Morata.
Bayer Leverkusen and Tottenham Hotspur shared the spoils in a 0-0 draw at the BayArena that saw both sides come within a whisker of finding a breakthrough.
Spurs were agonisingly close to breaking through before the half-time interval when Dele Alli arrived to meet Tripper’s cross with a bullet header, only to see his effort fizz wide.
Mauricio Pochettino’s side were left wondering how they had failed to open the scoring five minutes before the break when Alli’s shot was superbly blocked before Janssen headed tripper’s follow-up cross against the bar and Lamela saw his acrobatic effort on the rebound tipped over superbly by Bernd Leno.
But three minutes after the break it was Leverkusen’s turn to be denied when Hugo Lloris produced a stunning stop to repel a Javier Hernandez flick from almost on the line after Spurs had failed to deal with a cross. Hernandez and his teammates appealed in vain that the ball had crossed the line, and the same player went close again when Danny Rose bravely deflected his volley up and over the bar.
Ten-man Juventus made Lyon pay for a missed penalty as they secured a 1-0 win in France.
Lyon made much of the early running and missed a golden chance to take the lead when Leonardo Bonucci fouled Mouctar Diakhaby in the area after 35 minutes. But Gianluigi Buffon guessed right to thwart Alexandre Lacazette, diving to his left to stop the spot-kick.
Buffon was at it again in the second half when he repelled Nabil Fekir’s deflected strike, but soon afterwards the visitors were reduced to 10 men when Mario Lemina picked up a second yellow card for a rash challenge on Maxime Gonalons.
But the Serie A champions took the points thanks to Juan Cuadrado, who got away from his defender before firing past Anthony Lopes at his near post.
Borussia Dortmund continued their fine run with a 2-1 victory at Sporting Lisbon.
Dortmund created an early scare from a third-minute corner — and within six minutes they had broken through when Mario Gotze set Pierre-Emerick Aubameyang free to dink a finish beyond Rui Patricio.
The Bundesliga side doubled their advantage when Julian Weigl produced a fine individual goal two minutes before the break, beating two defenders before firing home.
Bruno Cesar pulled a goal back after 67 minutes after an indirect free kick was worked to him, but Dortmund almost put matters beyond doubt with 12 minutes to go when Christian Pulisic saw his effort from the edge of the box flick the top of the crossbar on its way over.
Andre Silva’s injury-time penalty gave FC Porto a dramatic 2-1 victory atClub Brugge.
Brugge took the lead when former Middlesbrough striker Jelle Vossen struck after 12 minutes, firing home from inside a crowded penalty area following a bright opening from the home side.
But Porto stepped up their attacking threat after the break and levelled through the dangerous Miguel Layun, who took a pass in his stride before smashing home a fine finish from distance, and they snatched the points with seconds to go as Silva kept his cool from the spot.
Sevilla produced a solid performance as they won 1-0 at Dinamo Zagreb.
The visitors carried the greater threat in the first half and made the breakthrough when a flowing 37th-minute move paved the way for Samir Nasri, who had missed a chance moments before, to steer home Mariano Ferreira’s low cross.
Dinamo tried to force the issue after the break but found clear-cut chances hard to come by, with teenager Borna Sosa coming closest to rescuing a point when his late effort from long range fizzed over the top.
Bernardo Silva rescued a point for Monaco when his goal with three minutes remaining gave them a 1-1 draw at CSKA Moscow.
Monaco were the dominant force in the opening stages — but CSKA soon found their rhythm and went in front on 34 minutes when Lacina Traore rounded off a move involving Mario Fernandes and Zoran Tosic.
The home side were grateful to goalkeeper Igor Akinfeev, who produced a fine stop to deny Monaco defender Andrea Raggi as the visitors looked for a leveller before the break, but after another Akinfeev save Silva picked up possession to curl an effort into the corner.