Claude Puel's side will take a 1-1 scoreline to Madrid in the second leg of their last 16 tie on Wednesday after condemning Sochaux to only their third home defeat of the campaign.
Lisandro Lopez twice went close for Lyon before breaking the deadlock at the third attempt in the 22nd minute, calmly passing the ball into the bottom-right corner from strike partner Bafetimbi Gomis's intelligent pass.
The hosts came agonisingly close to an equaliser early in the second half, but Damien Perquis's looping header was bravely cleared off the goal-line by Jeremy Toulalan after Hugo Lloris had rushed out from his goal.
Lyon took just a matter of minutes to capitalise on their let-off, Miralem Pjanic drilling the ball inside the right-hand post to double Lyon's lead, and Gomis spurned two late chances to add further gloss to the scoreline.
"Licha (Lisandro) and Bafe (Gomis) complement each other," said Puel, whose side lined up in an unfamiliar 4-4-2 formation.
"They look for each other a lot and that's good. It's a shame that Bafe wasn't rewarded (with a goal) because his play was superb."
Lyon climb above Marseille into third place on goal difference, a point shy of Lille and second-place Rennes.
"What's important is to gain more confidence," added Puel.
"We must continue to do that and remain vigilant, because everything can be called into question in every game.
"Wednesday will be a completely different match."
Elsewhere, an 80th-minute strike by Remy Cabella -- his first in Ligue 1 -- earned bottom club Arles-Avignon a 3-3 draw at home to Lorient in an end-to-end game at Avignon's Parc des Sports.
"We've not given up hope of staying up," said Arles coach Faruk Hadzibegic, whose team are 17 points from safety with only 11 games remaining.
"The quality of our game and our commitment erased the (5-0) defeat by Lyon (last weekend)."
Saint-Etienne, league leaders at the end of September, arrested a dismal run of four consecutive defeats with a 2-0 win at home to Brest.
Les Verts went ahead in the 35th minute courtesy of a Bakary Sako penalty and Dimitri Payet ended a wait of almost five months for a goal by firing home from 25 yards in the closing stages.
Nancy eased their relegation fears with a 2-0 victory over Caen that sent them six points clear of the relegation places and Nice extended their unbeaten run to four matches by defeating Auxerre 1-0.
The result leaves Auxerre 17th in the table, while Lens remain 19th -- four points below Auxerre -- after Paraguayan 19-year-old Federico Santander's 74th-minute header gave Toulouse a 1-0 success at Stade Felix-Bollaert.
Marseille put a difficult week behind them on Friday night to win 2-0 at title rivals Rennes, ahead of their trip to Manchester United in the Champions League on Tuesday.
The champions had lost 2-1 at home to Lille last weekend and saw Brazilian striker Brandao arrested on suspicion of rape, but they are now within a point of both Rennes and Lille, who lead the table on goal difference.
Loic Remy broke the deadlock with a superb diving header from Andre Ayew's 23rd-minute cross before Ayew's younger brother, Jordan, teed up Lucho Gonzalez for OM's second goal 10 minutes from full-time.
Lille can go three points clear with victory at home to northern rivals Valenciennes on Sunday, while fifth-place Paris Saint-Germain, who lost 2-1 at Benfica in the Europa League on Thursday, host Montpellier.
What the stars mean:
★ Poor ★ ★ Promising ★★★ Good ★★★★ Very good ★★★★★ Exceptional