Hamilton’s Mercedes team-mate, Nico Rosberg, was leading the race in Sochi but was forced to retire with a throttle issue on lap seven.
Sebastian Vettel, who finished second, is now Hamilton’s nearest challenger in the title race. Sergio Perez completed the podium for Force India after Valtteri Bottas and Kimi Raikkonen were involved in a dramatic last-lap collision.
After his lacklustre start in Japan a fortnight ago, Rosberg would have been desperate to secure a strong getaway here.
And, although Hamilton pulled alongside his team-mate, and indeed was at one point marginally ahead, Rosberg hung on to the lead. But by the time the German had got to turn four the safety car had been deployed.
Nico Hulkenberg lost control of his car on the exit of turn two and Sauber’s Marcus Ericsson, with nowhere to go, clattered into the Force India.
Max Verstappen, the 18-year-old rookie, was also caught up in the first-lap incident, picking up a rear-left puncture which dropped him to the back.
The safety car was in at the end of lap three, but Rosberg was already reporting a issue from within his Mercedes cockpit. “My throttle pedal is broken,” he said – and just three laps later the problem became terminal.
On lap six he was gobbled up by Hamilton for the lead and then on lap seven his race was over, and seemingly so too his slim hopes of catching his Mercedes team-mate in this year’s title race. He is now 73 points behind Hamilton with just a century of points to play for.
Rosberg desperately crawled back to the pit lane – with members of his Mercedes crew even pushing him to his garage – but there was nothing which could be done to resolve the technical gremlin. A beleaguered Rosberg was out of his car. It marked his second retirement in four races.
Back on track and Formula One was holding its breath once more after Lotus driver Romain Grosjean was involved in a huge shunt on lap 12.
A little over 24 hours after Carlos Sainz was airlifted to hospital after his crash in practice, Grosjean was in the wall at turn three. The Frenchman lost control of his car at 160mph, slammed into the barrier and destroyed the right-hand side of his car.
Mercifully Grosjean emerged from his car seemingly unscathed. “I was glad when I opened my eyes I was fine,” he said as he returned to the pits.
On lap 17 the safety car pulled in, and Hamilton, despite complaining of cold tyres, turned in the fastest lap of the race and from there it was a regulation victory for the Briton.
Hamilton, who was presented his winners’ trophy by Russian president Vladimir Putin, is 66 points ahead of Vettel. If he outscores the Ferrari driver by nine points in Austin and finishes two points ahead of Rosberg he will be crowned champion.
Mercedes boss Toto Wolff revealed the T-shirts to celebrate their constructors’ championship were printed and ready to wear here in Sochi – but their celebrations were initially put on hold when Raikkonen limped home in fifth.
But Mercedes were soon celebrating a second straight team title when the Finn was handed a 30-second post-race penalty to drop him back to eighth.
Felipe Massa finished fourth while Raikkionen’s demotion means Daniil Kvyat was promoted to fifth, Sauber’s Felipe Nasr moved up to sixth, with Pastor Maldonado seventh and Jenson Button eighth.
Sainz, who was given the green light to race on Sunday morning, was on for a career-best seventh but spun out with only six laps remaining.
Hamilton said: “It looked like we were going to have a race and I was thinking this is great and we were going to put in a good show.
“Nico made a mistake at turn one and went wide. I overtook him and after that, or maybe even before, he started to have some problems. It is very unfortunate for the team. It was a good opportunity for us to get the constructors’ championship but we will keep pushing.
“For me, those last five laps I was just really taking it in. I don’t know how many times I will be in that position again, so I was just cherishing the moment and feeling really blessed. I love this car and I am truly grateful.”