Vandoorne only had to finish ahead of Alexander Rossi to clinch the title with four races left, and he did so with fourth place, following a frenetic three-car battle with Raffaele Marciello and Pierre Gasly.
At the start, Status Grand Prix driver Stanaway got away well but was immediately under pressure from the equally fast-starting Arthur Pic.
The pair were side-by-side and made slight contact into Turn 2, allowing Pic's team-mate Rio Haryanto through into second.
Vandoorne: I had to dominate GP2
Once again, though, the safety car was deployed on the opening lap due to further incidents at Turn 2.
Sergey Sirotkin made contact with Dean Stoneman, which resulted in a spin for the Carlin driver. Sirotkin was handed a 10-second penalty for the incident.
Just behind there was also contact between Marlon Stockinger and Rene Binder.
Binder slowed to avoid the stricken Stoneman, leaving Stockinger with nowhere to go as the Status Grand Prix driver collided and mounted the back of Binder.
Stanaway and Haryanto both pulled clear after the restart, but there was a train forming behind third-place man Pic.
Red Bull junior Gasly hassled his fellow Frenchman for a number of laps before hitting the inside kerb attempting an overtake, which dropped him down just ahead of Rossi.
This allowed Marciello to have a go at Pic, who was now holding up five cars.
Ferrari protege Marciello eventually go the move down at Turn 2 before the pair ran side by side around Turn 3, where Pic went wide.
This allowed Vandoorne to have a run at the Campos Racing driver and he deposed him of fourth on the following corner.
With Stanaway seemingly clear out in front, the main on-track battle was between Marciello and Vandoorne, who were closing in on second place man Haryanto by 0.5 seconds a lap.
Vandoorne tried time and time again to find a way past Marciello but he couldn't make a move stick and was soon hassled from Gasly, who took advantage of Pic locking up at Turn 13.
With Marciello, Vandoorne and Gasly scrapping over third place, Haryanto was allowed some breathing space and he set off on a late charge to catch leader Stanaway.
By the penultimate lap the gap between the two was down to just 0.5s and Haryanto made a move up the inside of Turn 13 to seemingly take the lead.
But the safety car had been deployed following Jonny Cecotto's accident at Turn 3.
Haryanto gave the place back to Stanaway, who took his second win of the season, under safety car conditions.
Marciello held on to his third podium of the season, with new champion Vandoorne and Gasly close behind.
Feature race winner Rossi was sixth ahead of Nobuharu Matsushita, who picked up his first points since winning the sprint race in Hungary.
RESULTS - 21 LAPS:
Rossi wins after Lynn crashes out
Lynn denies Vandoorne Sochi pole