Lyon, who enjoyed a 4-0 opening-day win over Nice, had to come from behind after Ryad Boudebouz put the hosts ahead.
However, Yassine Benzia's first Ligue 1 goal, followed by strikes from the in-form Alexandre Lacazette and Yoann Gourcuff, ensured Remi Garde's men took the three points.
Sochaux got off to the perfect start, taking the lead from the spot after seven minutes through Boudebouz.
Cedric Bakambu was brought down by Milan Bisevac after he did well to get past Miguel Lopes, and the Algerian midfielder coolly slotted home from 12 yards.
Lyon were level 28 minutes later when Benzia was slipped in neatly by Gourcuff, before the 18-year-old striker expertly swept the ball past Simon Pouplin.
Intricate play outside the box then helped Lyon edge ahead with Clement Grenier, Benzia and Lacazette exchanging neat passes in the build-up.
Lacazette shimmied to his right before firing past Pouplin's left to give the visitors a half-time lead.
Three minutes after the break, Gourcuff got on the scoresheet, curling a strike past Pouplin after being given too much space by the hosts' defence.
Boudebouz forced two good saves from Anthony Lopes in the second half but there were to be no more goals, with Lyon remaining top of Ligue 1.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.