Lewis Hamilton took a huge stride towards a fourth Formula One title with victory in an incident-packed Singapore Grand Prix after Ferrari title rival Sebastian Vettel crashed out at the start.
The Mercedes driver now has a 28-point cushion over the German with six of the 20 races remaining.
Red Bull's Daniel Ricciardo, who also emerged from the opening lap carnage unscathed, was second for the third year in a row with Finland's Valtteri Bottas completing the podium for Mercedes.
"God blessed me today for sure," said Hamilton, who set a lap record on his way to a third win in a row.
"I capitalised on the incident. Who would've known that would happen. It's really unfortunate for Ferrari but great for the team (Mercedes)."
The Briton cashed in after Vettel, Ferrari team mate Kimi Raikkonen and Red Bull's front row contender Max Verstappen smashed into each other as they raced off the wet starting grid and into the first corner.
Ferrari blamed Verstappen, while Red Bull team boss Christian Horner said the 19-year-old was a victim "of somebody else's accident".
The race, the first to be hit by rain in the decade that Singapore has hosted Formula One, had started in treacherous conditions after a formation lap behind the safety car.
Vettel was on pole position, with Hamilton fifth, and everything looked set for the German to retake the overall lead he had surrendered only two weeks earlier at Monza in Italy.
And then it all went wrong. The collision left Vettel's car with a hole punched in the side and he spun into the wall at turn three.
"For sure, it's bitter but it's done," said the four times Singapore GP winner, whose retirement ended a run of 18 successive points finishes.
The incident brought out the safety car and allowed Hamilton into a lead he would keep through two more safety car periods and a perfectly-timed switch to dry weather tyres.
Australian Ricciardo had been confident of victory, despite missing out on pole on Saturday but could not keep up with the Briton's pace on Sunday.
"I can't win the bloody thing. I'm trying," he said afterwards. "I'm a little bit disappointed to miss out on the win. But I'm still going to be grateful and happy with another podium."
Spaniard Carlos Sainz, who will move to Renault next season, finished fourth for Toro Rosso to score the best result of his career.
Force India's Sergio Perez was fifth with Briton Jolyon Palmer, making way for Sainz at Renault, scoring his first points of the season with sixth.
Belgian rookie Stoffel Vandoorne was seventh for McLaren ahead of Canadian teenager Lance Stroll in the Williams and Romain Grosjean in the Haas.
French rookie Esteban Ocon scored the final point for Force India in tenth.
With three safety car interruptions, the race ended with 58 of the 61 laps completed after hitting the two-hour mark. Only 12 of the 20 cars finished.