Bayer Leverkusen turned in an impressive performance to open their account in Group C and leave Benfica staring an early exit in the face.
Stefan Kiessling opened the scoring and Son Heung-min doubled the lead before Eduardo Salvio grabbed one back against the run of play.
But Hakan Calhanoglu swiftly netted another from the penalty spot to hand Leverkusen a 3-1 win and leave Benfica bottom of the group without a point.
Real Madrid avoided the embarrassment of losing to minnows Ludogorets after they fell a goal behind in Razgrad.
After Marcelinho scored for Ludogorets, Cristiano Ronaldo responded to missing one penalty by scoring another, before Karim Benzema got a second for a 2-1 victory.
Substitute Adrian Ramos ensured Borussia Dortmund maintained a perfect start to their Champions League Group D campaign by sealing a 3-0 victory at Anderlecht.
The Colombian's late double cemented the lead given to the visitors by Ciro Immobile's early opener and negated the efforts of home keeper Silvio Proto, who had kept the Germans at bay for more than an hour in between.
Meanwhile, Markus Rosenberg's brace gave Malmo a famous 2-0 victory over Olympiacos in their Champions League Group A encounter while Zenit St Petersburg drew 0-0 at home to Monaco in Group C.
Arda Turan scored the only goal of the game as Atletico Madrid defeated Juventus 1-0 at the Vicente Calderon in Group A.