Bayern Munich got the better of Barcelona as Robert Lewandowski faced his former club while Atletico Madrid lost at Bayer Leverkusen, so both Spanish visitors to Germany were losers.
Barca fell 2-0 at the Allianz Arena in Group C, with Bayern going in front five minutes into the second half when Lucas Hernandez headed in from a corner. Leroy Sane burst through four minutes later to make it 2-0.
Barcelona next face Inter Milan, who won 2-0 at Czech side Viktoria Plzen.
Liverpool made a disastrous start in Group A when they lost 4-1 to Napoli, but they bounced back to beat Ajax 2-1 at Anfield.
Mohamed Salah put Jurgen Klopp's side ahead in the 17th minute only for the Dutch to level through Ghanaian Mohammed Kudus. Then Joel Matip headed in from a corner in the 89th minute.
Tottenham slumped to a 2-0 defeat against Sporting in Portugal in Group D after late, late goals from Paulinho and Arthur Gomes.
Sporting top the group with six points, while Eintracht Frankfurt joined Spurs on three points with a 1-0 win in Marseille.
Leverkusen claimed their first points in Group B by beating Atletico 2-0, and Belgian champions Club Brugge top the section after a 4-0 win at Porto.
Bayern's Lucas Hernandez fires past Barcelona 'keeper Marc-Andre ter Stegen at Allianz Arena. AP
Kostas Tsimikas jumps onto goal hero Joel Matip. REUTERS
Tottenham's Son Heung Min vies with Manuel Ugarte in Lisbon. REUTERS