Nico Rosberg dominated the Russian Grand Prix to take his fourth win out of four 2016 Formula 1 races.
But it was team-mate Lewis Hamilton's recovery from 10th on the grid to second and brief mid-race water-pressure scare, which led to him backing off while closing on Rosberg, that provided the drama.
Hamilton's cause was helped by a Ferrari driver Sebastian Vettel crashing out on the first lap after two separate clashes with Red Bull's Daniil Kvyat.
Vettel was attempting to pass Daniel Ricciardo for fifth up the inside into the Turn 2 right-hander on the first lap, with Sergio Perez making it three wide on the outside line.
Vettel appeared to have made the move, only for Kvyat to tap the rear of the Ferrari and pitch it sideways and into Ricciardo, who in turn hit Perez and gave the Force India a right-rear puncture.
The Ferrari was then hit in the rear again by Kvyat in the fast Turn 3, pitching Vettel into the wall and out of the race and prompting a tirade over the radio.
Kvyat, who like team-mate Ricciardo had to pit for a new front wing, was given a 10-second stop/go penalty for causing the two collisions.
The safety car was deployed to clear up the wreckage of the Ferrari and the consequences of a separate incident in which Esteban Gutierrez hit Nico Hulkenberg's Force India.
While Rosberg had the lead, Hamilton was running fifth, which became fourth when he passed Felipe Massa's Williams for fourth at Turn 2 at the restart.
Hamilton then dived up the inside of third-placed Kimi Raikkonen into Turn 4 on lap seven after the Finn had a poor run out of the previous corner while chasing Valtteri Bottas.
Bottas was able to keep Hamilton behind when he pitted at the end of lap 16 of 53, with Hamilton emerging just behind after stopping a lap later.
But two laps later, the champion was able to take second up the inside into Turn 2 even though Bottas also had the use of the DRS on the run to the corner thanks to the yet-to-stop Fernando Alonso being ahead.
Once in clear air, Hamilton did close on Rosberg, reducing the gap to 7.5s by two-thirds distance prior to being warned of the water pressure problem that led to him easing off while it was checked.
The gap quickly extended to just over 13s, with Rosberg eventually crossing the line 25s clear after setting the fastest lap of the race on his penultimate time round the Sochi circuit.
Bottas lost out on the final podium place to Raikkonen, who ran four laps later in his first stint and emerged from his sole pitstop just in front of the Williams driver.
Massa had a lonely race to fifth, with the Williams team bringing him in for a late and risk-free stop at the end of lap 46 to switch to super-softs without losing the position.
He had a comfortable advantage over Fernando Alonso, who took his first points finish since last July's Hungarian Grand Prix.
The Spaniard capitalised on Toro Rosso driver Max Verstappen retiring from sixth place with what the Dutchman reported was an engine problem.
Kevin Magnussen delivered a strong race to take his and Renault's first points of the season in seventh, prevailing in a tight five-car battle for the minor points positions.
He led home Romain Grosjean, who took the new Haas team's third points finish in four races.
Perez recovered to ninth, with Jenson Button passing Carlos Sainz Jr for the final point late on.
Ricciardo could only recover to 12th ahead of Jolyon Palmer after initially switching onto medium rubber following the first-lap problems and then making a second stop to bolt on softs.
Team-mate Kvyat was 15th, behind Sauber's Marcus Ericsson, after serving his penalty.
RESULTS - 53 LAPS:
|6||Fernando Alonso||McLaren/Honda||1 Lap|
|7||Kevin Magnussen||Renault||1 Lap|
|8||Romain Grosjean||Haas/Ferrari||1 Lap|
|9||Sergio Perez||Force India/Mercedes||1 Lap|
|10||Jenson Button||McLaren/Honda||1 Lap|
|11||Daniel Ricciardo||Red Bull/TAG Heuer||1 Lap|
|12||Carlos Sainz||Toro Rosso/Ferrari||1 Lap|
|13||Jolyon Palmer||Renault||1 Lap|
|14||Marcus Ericsson||Sauber/Ferrari||1 Lap|
|15||Daniil Kvyat||Red Bull/TAG Heuer||1 Lap|
|16||Felipe Nasr||Sauber/Ferrari||1 Lap|
|17||Esteban Gutierrez||Haas/Ferrari||1 Lap|
|18||Pascal Wehrlein||Manor/Mercedes||2 Laps|
|-||Max Verstappen||Toro Rosso/Ferrari||Power Unit|
|-||Nico Hulkenberg||Force India/Mercedes||Collision|
|3||Red Bull/TAG Heuer||57|