A stunning scissor-kick from the boyhood les Gones fan gave the visitors the lead before Haris Seferovic smashed home a second after the break
The Spanish outfit put on a classy display of fluent attacking football at Stade Gerland, leaving their Ligue 1 hosts an uphill task to turn the tie around in the return leg of their play-off at the Estadio Municipal de Anoeta on August 28.
Sociedad took the lead when Antoine Griezmann opened the scoring with a sensational scissor-kick in the first half. The strike was extra-special for the Frenchman who grew up as a boyhood Lyon fan.
And his effort was almost outdone by Haris Seferovic after the break, as his 25-yard half-volley thundered into the top corner.
Lyon’s task became even more difficult when centre-back Milan Bisevac was sent off for a second bookable offence in the 75th minute, with the French side now having it all to do in the return.
Lyon coach Remi Garde kept faith with the same starting XI that defeated Sochaux 3-1 on Friday, while Sociedad made four changes from their 2-0 victory over Getafe at the weekend, including Griezmann starting in place of Ruben Pardo.
The visitors started the brighter of the two sides, looking the more likely to create openings.
And they were unlucky not to take the lead in the 12th minute when Carlos Vela engineered an opportunity on the edge of the area, only to see his left-footed shot cannon back off the post.
However, they did not have to wait long to get the breakthrough their play deserved as just five minutes later the travelling support were celebrating an early goal-of-the-season contender.
Vela played a teasing outswinging cross from the left that went behind Griezmann, but the 22-year-old showed superb athleticism to meet the ball and fire a left-footed scissor-kick into the bottom corner.
That setback seemed to spark Lyon into action and Yoann Gourcuff produced their best moment of the half when he played a neat one-two with Alexandre Lacazette before striking first time. Only a smart save from Claudio Bravo at his near post denied Lyon an equaliser.
Lacazette then had a penalty claim turned down when he went to ground after going shoulder-to-shoulder in the area with Inigo Martinez, but his appeals were waved away by referee Milorad Mazic.
Lyon needed a quick start to the second half and Maxime Gonalons should have done better when he headed wide from Gourcuff's corner despite being unmarked in the area.
They were duly punished after 50 minutes by another piece of brilliance.
Some exquisite one-touch football led to Griezmann laying the ball into the path of Seferovic on the left-hand side, before the Swiss struck an unstoppable half-volley from 25 yards that flew beyond Anthony Lopes into the top corner.
With the match slipping away, Lyon needed a goal to change the complexion of the tie, and they came desperately close in the 68th minute when Gonalons’ header from Gourcuff's corner thundered off the underside of the crossbar.
The situation worsened for the home side, however, when Bisevac was shown a second yellow card for a trip on Vela on the edge of the box with quarter of an hour remaining.
Vela could have made it three with two minutes remaining when he cut inside Lopes, but his effort was blocked on the line by Gueida Fofana, leaving la Real in firm control of the playoff ahead of next week's return leg.