Borussia Dortmund fought back twice against Champions League holders Real Madrid for a 2-2 draw on Tuesday while Leicester City continued their dream start by beating Porto.
Cristiano Ronaldo opened the scoring for Real in 17 minutes but Pierre-Emerick Aubameyang levelled in 43 following an error from keeper Keylor Navas. Raphael Varane converted from close range after the break but Andre Schuerrle scored three minutes from time to keep Dortmund unbeaten at home to Real in six meetings.
Leicester downed Porto 1-0 thanks to Islam Slimani's header to maintain a 100 per cent record in Group G. Copenhagen thrashed Club Brugge 4-0 in the other group game.
In other matches Bayer Leverkusen drew 1-1 at Monaco and Tottenham Hotspur won 1-0 at CSKA Moscow in Group E. Sporting Lisbon beat Legia Warsaw 2-0, Juventus strolled 4-0 at Dinamo Zagreb and Sevilla edged Lyon 1-0.
Dortmund were on a great run of scoring form going into the contest and made a bright start before being hit by a clinical breakaway. Gareth Bale's backheel took a deflection but still fell for Ronaldo to guide home the opener.
The hosts fought back and levelled in 43 minutes as Raphael Guerreiro's free kick was weakly punched away by Navas into Varane. The ricochet was going into the net anyway but Aubameyang appeared to get the final touch before it crossed the line.
"Really tough place to come and play," Bale said on Twitter. "Hard fought point away from home."
Ronaldo looked to have restored the lead before the break only to have his header correctly ruled offside.
But after Karim Benzema hit the woodwork at a 68th minute set piece, Varane was perfectly placed to nudge into an empty net.
Dortmund refused to give in though and Schuerrle netted a deserved equalized by smashing Christian Pulisic's cross high into the roof of the net at the back post.
"If you twice come back from a deficit against Real Madrid, it is a great feeling," Schuerrle told Sky television. "That will help us. It shows that we have grown to the level.
"We have taken a point from great opponents. We can be happy with that."
The draw keeps Dortmund top of Group F from Real on goal difference with both on four points, followed by Sporting Lisbon on three. Sporting gave Legia Warsaw a second loss of the campaign on goals from Bryan Ruiz and Bas Dost.
Leicester had made a winning start to the Champions League with a convincing win at Club Brugge two weeks ago and tasted victory in front of their own fans against Porto.
Slimani headed home Riyad Mahrez's cross in the first half to put them top of the group, two points clear of Copenhagen. Two-time winners Porto had plenty of possession but couldn't find an equalizer.
"We knew it would be tough and we'd have to work hard to get the points," Mahrez said. "We're really happy with it."
Copenhagen thrashed Brugge through an own goal from Stefano Denswil and after Ludwig Augustinsson missed a penalty, strikes from Thomas Delaney, Federico Santander and Mathias Joergensen made the win secure.
Leverkusen led in Monaco through Javier Hernandez's header but a disappointing Monaco maintained top spot thanks to Kamil Glik's injury time equalizer. Spurs struck in the closing stages at CSKA through Son Heung Min to trail the leaders by a point with Leverkusen third and the Russians bottom.
"That was a very important victory," Tottenham manager Mauricio Pochettino said. "This was a must win game, we are second in the group now but it is still all open."
Serie A champions Juventus thrashed Dinamo Zagreb with first half goals from Miralem Pjanic and Gonzalo Higuain setting them en route to victory. Paulo Dybala's long-range drive and an own goal from Adrian Semper after the break guaranteed the win.
Juve share the Group H lead with Sevilla on four points as Wissam Ben Yedder's header early in the second half gave the Spaniards a home win over Lyon despite a missed penalty by Luciano Dario Vietto.