The five-times world champion also banked a bonus for the fastest lap of the race to go 73 points clear of Finnish team mate Valtteri Bottas with five races remaining
Formula One leader Lewis Hamilton won the Russian Grand Prix in a surprise Mercedes one-two on Sunday after Ferrari tripped over team orders and were undone by a virtual safety car they triggered.
The five-times world champion also banked a bonus for the fastest lap of the race to go 73 points clear of Finnish team mate Valtteri Bottas with five races remaining.
The Briton cannot clinch the championship at the next race in Japan but Mexico, round 18 of 21, is looking a distinct possibility.
Ferrari's Charles Leclerc was third while team mate Sebastian Vettel, who resisted pressure to give back a lead gained at the start with the young Monegasque's assistance, retired.
"It's just incredible to have this result today, considering how quick they (Ferrari) were off the start. Just keeping up with them was an incredibly hard task," said Hamilton.
Mercedes's victory was their sixth in a row in Sochi, the team having won every Russian Grand Prix since the first in 2014.
It was also the 82nd of Hamilton's career, and ninth of the season, leaving him nine short of Michael Schumacher's all-time record of 91.
"It feels like a long time coming, it feels like the first time as well," said the 34-year-old after his first win since Hungary on the eve of the August break.
"Honestly I try not to think too much about the championship. One race at a time and one step at a time... one foot in front of the other. We don't want to stumble."
Ferrari had arrived in Sochi after a hat-trick of wins and with a hefty speed advantage, looking set for another triumph after Leclerc seized pole position for the fourth race in a row.
But there was controversy after Leclerc allowed Vettel, third on the grid, to slipstream down the long straight and lead into turn two while Hamilton suffered wheelspin and fell to third.
The agreement was for the German to hand back the place once Ferrari had settled into a one-two formation but instead Vettel began banging in a series of fastest laps.
"Sebastian will let you by next lap," the 21-year-old was told over the radio on lap four but the four-times world champion refused to ease off.
Leclerc, already smarting after being undone in Singapore by a strategy that worked in Vettel's favour, again made his feelings clear over the team radio.
"You put me behind. I respected everything," he said as Vettel, winner in Singapore after more than a year off the top of the podium, pulled away.
"I respected. I gave him the slipstream," he added later, with Ferrari telling him they were switching to 'Plan C' and a later swap.
Leclerc pitted from second on lap 23 and came back out in fourth. Vettel made his stop three laps later, with the Monegasque making up the place while Hamilton led for a record 143rd race.
Two laps later Vettel coasted to a halt by the side of the track with an apparent motor generator problem, and the virtual safety car (VSC) period gave Hamilton the chance to take a free pitstop and return ahead of Leclerc.
Leclerc pitted again on lap 31 when the real safety car was deployed as the VSC period was ending after George Russell crashed in his Williams. The Ferrari resumed in third but was unable to pass Bottas.
The real safety car made two appearances, the first after an opening lap collision between Haas's Romain Grosjean, Renault's Daniel Ricciardo and Alfa Romeo's Antonio Giovinazzi, who appeared to be tagged by Racing Point's Lance Stroll.
Ricciardo limped back to the pits with a puncture but retired on lap 26, while Grosjean was pitched into the barriers and out of the race.
Red Bull's Max Verstappen and Alexander Albon, who started from the pit lane after a crash in qualifying and engine penalties, finished fourth and fifth.
Spaniard Carlos Sainz was sixth for McLaren, with Racing Point's Mexican Sergio Perez seventh and McLaren's Lando Norris eighth.
Kevin Magnussen bagged two points for Haas, despite collecting a five second time penalty for leaving the track and gaining an advantage, with Nico Hulkenberg 10th for Renault.
Mercedes now lead Ferrari in the constructors' standings by 162 points.