Bayern Munich recorded a 13th straight Champions League win with a 2-1 Group A victory at Lokomotiv Moscow.
The reigning champions took a 13th-minute lead when Leon Goretzka headed home Benjamin Pavard's brilliant volleyed cross.
Anton Miranchuk levelled 20 minutes from time with a crisp finish, but Joshua Kimmich maintained Bayern’s winning run in the 79th minute.
Atletico Madrid, beaten 4-0 by Bayern last week, returned to winning ways with a 3-2 victory over RB Salzburg.
Joao Felix was the hero scoring twice, including the winner five minutes from time, after Marcos Llorente had given Atletico a first-half lead.
Dominik Szoboszlai had equalised before Mergim Berisha gave Salzburg the lead two minutes after the restart.
Real Madrid produced a remarkable fightback to draw 2-2 at Borussia Monchengladbach and avoid losing their opening two games in the competition for the first time.
French striker Marcus Thuram put the German side in command after 32 and 58 minutes.
But Real, who were beaten at home by Shakhtar Donetsk in their Group B opener, were given hope by Karim Benzema three minutes from time.
Casemiro then drove home the equaliser in added time after Sergio Ramos had met Luka Modric’s cross with a towering header.
Inter Milan drew a blank for only the third time in 15 Champions League games with a 0-0 draw at Shakhtar.
Nicolo Barella and Romelu Lukaku both hit the crossbar in the first half, but Inter are still without a win after two opening draws.
Portugal defender Pepe made his 100th Champions League appearance as Porto edged out Olympiakos 1-0 in Group C.
Fabio Vieira pounced on an Andrea Bouchalakis mistake to decide the outcome after 11 minutes.
Elsewhere in the group, Manchester City eased to a 3-0 away win in Marseille.
Ferran Torres opened the scoring after 18 minutes and City were clinical after the break to cap a mature display.
Ilkay Gundogan and Raheem Sterling wrapped up a convincing victory to give City a three-point lead.
Liverpool beat Midtjylland 2-0 at Anfield as Diogo Jota and substitute Mohamed Salah netted second-half goals.
But there was concern for Liverpool as Fabinho – playing at the back again in the absence of Virgil van Dijk and Joel Matip – had to go off in the first half having pulled up while running.
Liverpool failed to register a shot on target but Jota put them ahead in the 55th minute with a close-range finish.
Salah added a penalty in stoppage time to make it two wins from two games in Group D for Jurgen Klopp's men.
Also in Group D, Atalanta fought back to draw 2-2 at home to Ajax.
The Dutch champions came into the game on the back of scoring 13 times against VVV-Venlo in an Eredivisie fixture last weekend.
Ajax were 2-0 ahead at the break after Dusan Tadic converted from the spot after half an hour and Lassina Traore added a second seven minutes before the break.
But Duvan Zapata denied Ajax victory with goals after 54 and 60 minutes.