Formula 1 world champion Lewis Hamilton won the Brazilian Grand Prix after Max Verstappen was taken out of the race lead while lapping Esteban Ocon.
Verstappen had blasted past Hamilton early in his second stint and was edging clear when his Red Bull was pitched into a spin having been clobbered by Ocon at the second corner.
That dropped Verstappen behind Hamilton, who managed engine and tyre concerns to stay clear and win a race after clinching the title for the first time - he was winless in the grands prix he completed after wrapping up the championship in 2015 and '17 respectively. The result also clinched the constructors' championship for Mercedes.
Kimi Raikkonen took advantage of a mistake from Ferrari team-mate Sebastian Vettel early on and Valtteri Bottas's challenge fading to complete the podium.
Hamilton had maintained his pole advantage at the start as Bottas jumped Vettel for second place.
Verstappen started fifth but made short work of the two Ferraris by passing them both on successive laps into the first corner, nailing Raikkonen around the outside under braking before diving inside Vettel.
He caught Bottas quickly and cleared the Mercedes on lap 10 when Bottas inexplicably failed to close the door properly into Turn 1.
Hamilton pitted on lap 19 of 71, one lap after Bottas, as Mercedes switched to fresh tyres much earlier than its rivals.
Verstappen continued until lap 36 but emerged behind Hamilton despite initially looking like he might build a big enough lead and Hamilton growing frustrated by what he thought was a lack of information from his team.
By running so long in the first stint Verstappen was able to switch to softs and with much fresher and faster tyres, he cruised up to the back of Hamilton and blasted past on the start-finish straight with 31 laps to go.
With Mercedes protecting Hamilton's engine that should have set Verstappen up a relatively simple run to the flag, but four laps later Verstappen's win bid unravelled at the first two corners.
Verstappen put a lap on Ocon but his ex-karting and Formula 3 rival fought back into Turn 1 to the outside of the Red Bull then held firm as track went back to the right.
Ocon did not back out and Verstappen turned in, with the resulting contact spinning both and leaving Verstappen with floor damage, although he was lucky to only lose a place to Hamilton.
Verstappen was able to gradually cut into Hamilton's five-second advantage over the rest of the race, but Hamilton was just able to hang on despite voicing engine concerns and complaining of a lack of grip late on.
Raikkonen made it through to third after passing Bottas into Turn 1 just as Verstappen was being taken out.
After passing Vettel in the opening stages when the German ran wide at Turn 4, Raikkonen was repassed by his team-mate in the pitstop phase.
But Vettel let Raikkonen go to attack and successfully pass Bottas - while Vettel had to make a second stop after dropping to the tail of the top six, behind the Red Bull of Daniel Ricciardo.
The recovering Ricciardo made it up to fourth after passing Bottas as well, which triggered a second stop for the Finn, who was complaining with blistering.
Bottas and Vettel therefore completed the top six, while Charles Leclerc took seventh for Sauber after dominating the best-of-the-rest fight.
The 2019 Ferrari driver finished comfortably clear of Romain Grosjean's Haas after passing team-mate Marcus Ericsson at the start.
Grosjean finished eighth ahead of fellow Haas driver Kevin Magnussen, while Sergio Perez took the final point in 10th.
Brendon Hartley was first finisher outside the top 10 after an ill-tempered conclusion in which he raged over the radio at Toro Rosso team-mate Pierre Gasly refusing to comply with an order to swap positions.
Gasly, who was also angry, eventually let Hartley past on the final lap but also lost a place to Renault Carlos Sainz Jr.
There were only two retirements from the grand prix. Ericsson stopped early on after picking up damage at the first corner, slipping down the order and suffering a spin after his pitstop.
Nico Hulkenberg was ordered to stop as Renault recorded a high engine temperature.
|2||Max Verstappen||Red Bull/Renault||71||1.469s|
|4||Daniel Ricciardo||Red Bull/Renault||71||5.193s|
|10||Sergio Perez||Force India/Mercedes||70||1 Lap|
|11||Brendon Hartley||Toro Rosso/Honda||70||1 Lap|
|12||Carlos Sainz Jr.||Renault||70||1 Lap|
|13||Pierre Gasly||Toro Rosso/Honda||70||1 Lap|
|14||Esteban Ocon||Force India/Mercedes||70||1 Lap|
|15||Stoffel Vandoorne||McLaren/Renault||70||1 Lap|
|16||Sergey Sirotkin||Williams/Mercedes||69||2 Laps|
|17||Fernando Alonso||McLaren/Renault||69||2 Laps|
|18||Lance Stroll||Williams/Mercedes||69||2 Laps|
|12||Carlos Sainz Jr.||45|