Lewis Hamilton wins after Max Verstappen collides with Esteban Ocon in Brazil
Verstappen was on course for a superb win when Force India's Esteban Ocon left his car on the inside of the Red Bull at the Senna S and pitched it into a spin.
The incident dropped Verstappen back to second place and although he came back at Hamilton he could not quite catch him.
Verstappen remonstrated with Ocon in the driver weighing area afterwards and pushed the Frenchman three times as he expressed his anger at what had happened.
Hamilton's win helped Mercedes secure the constructors' championship.
They never looked like losing that as Ferrari's challenge faded but the race win was another matter.
"Oh, sorry - are you the leader?" Ocon tangles with Verstappen...
...as Hamilton cruises back past having lost the lead to the charging Dutchman just minutes earlier
What was Ocon playing at?
Verstappen had driven superbly from the start, and was quickly up into second place by lap 10 after passing both Ferraris and then Valtteri Bottas' Mercedes in succession, and then holding Hamilton's advantage at about 1.7 seconds.
Hamilton made an early stop for tyres on lap 19, switching on to mediums with the aim of going to the end, but Verstappen stayed out until lap 35.
His pace was so impressive on used super-softs that he almost did enough to rejoin without losing the lead.
In the end, he rejoined 2.5secs behind Hamilton, was on his tail within two laps and passed him on lap 39.
"He [Ocon] was such an idiot he gets taken out while he's being lapped." Say how you really feel, Max...
He looked on course for victory until lap 44, when Ocon, who had not long ago pitted for fresh tyres, caught the Red Bull and was trying to unlap himself.
Ocon went around the outside of Verstappen into Turn One and that meant he was on the inside for the right-hander of Turn Two that follows immediately.
Verstappen's right rear caught Ocon's left front as he turned into the corner, pitching into a spin and into the run-off area.
Verstappen was furious. "What an idiot," he fumed over the radio.
Ocon claimed Verstappen had not left him enough space, but he was handed a 10-second stop-go penalty, the most severe punishment before a disqualification.
'F1 Breakdown: Has Lewis Hamilton had it easy?'
Never give up
Verstappen was 5.7secs behind Hamilton when he got going again and he soon began to inch back towards the leader.
The car was damaged and Red Bull told him that he had lost some downforce around the front of the side-pod area but he kept coming at Hamilton regardless.
Meanwhile, Hamilton was battling problems with his power-unit, which was having drop-outs, as well as worn tyres, Mercedes asking 52 laps of his set of mediums, about their maximum limit.
Verstappen closed and closed but he did not have enough time and crossed the line 1.5secs behind.
Verstappen's engineer said: "I don't know what to say, mate." And the Dutchman turned the air blue over the radio, saying: "I know what to say. I hope I don't find him in the paddock."
In the green room before the podium, Hamilton told Verstappen that Ocon had the right to unlap himself. Verstappen agreed, but added: "But you can't crash." Hamilton responded: "You had more to lose than he did. He had nothing to lose."
Later, Verstappen told the media: "He has the right to unlap himself but still you have to be careful. He has always been an idiot."
In his post-race interview, he said: "You do everything right and then you get taken out when he is being lapped.
"The car was working great but I don't know what to say. I'm happy with second but we should have won."
Vettel was reprimanded after angrily driving off some weighing scales during Saturday's qualifying
Ferrari fading
Ferrari's Kimi Raikkonen finished third, the red cars unable to challenge for the lead despite what had been perceived as an advantageous strategy.
Raikkonen tracked Bottas in the first stint as the Mercedes hit tyre problems in the first stint but was unable to pass before Bottas stopped on lap 18.
A longer first stint gave Raikkonen a tyre advantage in the second stint, he caught team-mate Sebastian Vettel, who was ordered to let him past but again Raikkonen became stuck behind Bottas.
Eventually, after 10 laps, Raikkonen finally got past, and then Bottas came under pressure from Red Bull's Daniel Ricciardo before eventually Mercedes ordered him in for a second stop on lap 59, with 12 to go.
Ricciardo took fourth, ahead of Bottas, with Vettel, who also made a second stop, a struggling sixth.
Driver of the day
Verstappen was outstanding and was on course for one of his best victories when cruelly robbed by Ocon
What happens next?
The curtain comes down on the season in Abu Dhabi in two weeks' time. After wins for three different drivers from three different teams in the last three races, who knows what will happen?
Swami