Lewis Hamilton was gifted a much-needed Formula One race win at the Russian Grand Prix as rival Sebastian Vettel retired in his bid for a second straight victory.

Mercedes superstar Hamilton, the defending champion and season leader, had been enduring a tough run, with three consecutive Ferrari triumphs since the midseason break.

Vettel had returned to form by pipping team-mate Charles Leclerc last week and the Scuderia appeared to be teeing up another one-two in Sochi.

However, Vettel was forced to retire shortly after pitting and, with Leclerc having already headed in, the virtual safety car allowed Hamilton to return to the garage and come back out with a lead still intact.

Leclerc readied one last serious push but was held up for too long by Valtteri Bottas and could only finish third.

Hamilton also collected the extra point for the fastest lap on a fine day for Mercedes, their champion stretching his advantage to 73 points as they claimed a one-two.

Vettel had enjoyed a stunning start in pole-sitter Leclerc's slipstream, beating Hamilton immediately and then cutting inside his colleague at the first corner.

Early contact between Daniel Ricciardo and Romain Grosjean brought out a safety car on the first lap and Ferrari called for Vettel to allow Leclerc through when racing resumed.

Scuderia tactics had favoured Vettel a week earlier and Leclerc was angry again as he told the radio he had "played the team game" as Hamilton got too close for Ferrari to attempt the swap.

The team took a different approach and had Leclerc pit, coming back out in fourth, with Vettel then going in and the 21-year-old pushing to get in front of last week's winner.

However, just as Ferrari looked set to control the race, Vettel pulled up complaining of "no MGU-K" and retired, unable to get back to the garage and bringing out the virtual safety car.

Leclerc suffered as Hamilton pitted, although a full safety car allowed the Ferrari man to pit and at least close the gap on the Briton, while giving up track position to Mercedes deputy Bottas.

Despite repeatedly attacking Bottas with the aid of DRS, there was no way through and Leclerc was frustrated for a second week running.