Mehdi Benatia and Antonio Floro Flores were both on target as the host moved three points clear of their rivals, which suffered its first defeat in the pool.
In the same pool, Joe Ledley's second-half header gave Celtic a deserved 1-1 draw at Rennes.
An own goal from Cha Du-ri, who helped on a hopeful long ball then watched in horror as the ball slipped past Hoops goalkeeper Fraser Forster and in to the net, had put the French side ahead on the half-hour mark.
Schalke and Maccabi Haifa remained first and second in Group J after both recorded 5-0 victories.
Lewis Holtby set German side Schalke on its way at AEK Larnaca and Klaas Jan Huntelaar and Benedikt Howedes headed the second and third in quick succession before Julian Draxler and Huntelaar, with his second, sealed a comprehensive win.
Maccabi Haifa also took a big step towards the last 32, remaining a point behind the Royal Blues with a 5-0 home triumph over nine-man Steaua Bucharest.
An early double from Weam Amasha had Maccabi in control inside the opening 20 minutes and things got worse for Steaua with Eric Bicfalvi dismissed in the 36th minute as he conceded a penalty from which Yaniv Katan made it 3-0.
Maccabi even managed to miss a penalty, in the 65th minute, after Valentin Iliev was sent off, but the goals continued to flow thanks to Taleb Tawatcha and Idan Vered.
FC Twente moved three points clear at the top of Group K thanks to a 4-1 victory over Odense BK in Denmark.
Goals from Wout Brama, Emir Bajrami and substitute Nacer Chadli put the Dutch side firmly in control and, although Djiby Fall pulled one back for the hosts, Luuk de Jong soon restored Twente's three-goal cushion.
In the same group, Polish champion Wisla Krakow secured its first points with a 1-0 win over Fulham. David Biton struck the all-important goal after the Cottagers had had Moussa Dembele sent off.
Anderlecht maintained its 100% Group L record with a 2-0 win over 10-man Sturm Graz at the UPC-Arena thanks to second-half goals from Guillaume Gillet and Matias Suarez. Sturm defender Thomas Burgstaller saw red in between.
Second-placed Lokomotiv Moscow boosted its hopes of also advancing with a 3-1 triumph against AEK Athens in the Russian capital.
Dmitri Sychev headed the opener just after the break and rammed home the second from the penalty spot 20 minutes from time.
Dimitris Sialmas pulled one back for AEK in the 88th minute but substitute Felipe Caicedo restored Lokomotiv's two-goal cushion in stoppage time.
Metalist Kharkiv overcame the first-half dismissal of Jonathan Cristaldo to hammer Malmo 4-1 in Sweden and move to the top of Group G.
Jiloan Hamad had fired the home side in front, only for Cristaldo to equalise.
The Argentinian striker was then given his marching orders just five minutes after scoring, but the Ukrainian club responded magnificently with strikes from Vinicius Fininho, Edmar and Marko Devic wrapping up an emphatic win.
The result meant Metalist moved two points clear of AZ Alkmaar at the pool summit as the Eredivisie leader drew 2-2 at home to Austria Vienna.
The visiting side had taken a 2-0 first-half lead through a Dirk Marcellis own goal and a Gorgon strike, but goals by Peter Hlinka and Pontus Wernbloom in the last 10 minutes rescued a point for AZ, which had Niklas Moisander sent off in stoppage time.
New Zealand international Chris Wood scored a stunning winner in the 10th minute of stoppage time to secure Birmingham a 2-1 win at Club Brugge and move the Blues alongside its host at the top of Group H.
The Championship side had trailed to Joseph Akpala's third-minute opener but David Murphy's slick finish restored parity in the 26th minute and then, following more than six minutes of treatment for defender Pablo Ibanez after he was knocked unconscious in worrying fashion, Wood stole in at the near post to net a dramatic winner.
In the same pool, NK Maribor and Braga battled out a 1-1 draw.