Lewis Hamilton recovered from a first-lap off to win the Mexican Grand Prix but will have to wait at least one more race to clinch the 2019 Formula 1 title.
Hamilton had a trip across the grass at the start of the race after contact with Max Verstappen and fell to fifth, but he executed a one-stop strategy brilliantly to overhaul both Ferraris and score his 10th victory of the season.
Sebastian Vettel was unable to attack Hamilton after losing track position through strategy and had to settle for second in lead Ferrari, with Valtteri Bottas third.
Poleman and early race leader Charles Leclerc fell to fourth as a two-stop strategy and a slow second stop cost him dearly.
Ferrari had control of the race in the early stages despite Leclerc being lightly nerfed by Vettel after running wide under braking for the Turn 4 left-hander and slowing right down through the tight right-hand turn that followed on the first lap.
Behind, though, Hamilton had already suffered an early setback as Verstappen challenged him on the inside into the first corner.
Hamilton had already been crowded out by Vettel on the run down to Turn 1 as they chased Leclerc of the line, a move he branded "dangerous" but one that was not investigated by the officials.
At the first corner, Hamilton ran wide and had a big snap of oversteer on the outside kerb, which lurched his car to the right and put him and Verstappen on the grass between the Turns 2 and 3 complex after they banged wheels.
The incident dropped Hamilton behind Alex Albon's Red Bull and the McLaren of Carlos Sainz Jr, while Verstappen fell to eighth, behind Lando Norris and Bottas.
Hamilton passed Sainz into Turn 1 on lap four of 71 he then ran fourth through the rest of his opening stint, which he extended to lap 23 - eight more than race leader Leclerc and nine more than Albon, both of whom committed to a two-stop strategy.
But Vettel - who assumed the race lead when Leclerc stopped - and Bottas extended their first stints by 13 and 14 laps longer than Hamilton respectively.
Hamilton's early stop allowed him to jump Vettel for track position, although the major tyre offset meant the five-time world champion was fearful he would not be able to defend once Vettel pitted.
But by the time Leclerc and Albon had made their second stops and left Hamilton leading the race from Vettel, Hamilton kept his pursuer more than two seconds behind for the next 20 laps.
During that time, Bottas closed right up onto Vettel's rear, while Leclerc used his fresher tyres after his second stop to hack into the gap to the one-stopping trio ahead - although he lost around four seconds at that stop due to an issue with his right-rear wheel.
With 12 laps to go, Leclerc had almost hauled himself within DRS range of Bottas but he locked his front-left tyre into Turn 4 and ran wide, which doubled his deficit to the Finn.
Ahead, Vettel closed to within two seconds of Hamilton for the first time with eight laps remaining, but Hamilton hit back immediately and continued to keep the Ferrari out of range.
Hamilton's win, with Bottas third, extended his championship lead by 10 points but he needed to add 14 points over Bottas to clinch his sixth title.
That means Hamilton now has a 74-point lead with 78 available in the final three races.
Behind the top four, Albon was fifth after arguably his strongest performance for Red Bull, with team-mate Verstappen fighting back to sixth after a mammoth 66-lap stint on hard tyres.
Verstappen's race was wrecked early on when, after being forced off by Hamilton, he suffered a right-rear puncture shortly after lunging Bottas for seventh as they ran into the stadium section.
He hobbled back to the pits when it became apparent there was an issue on the next lap as the tyre stripped from the wheel rim and dropped him to last, before he gradually rose back up the order with no further pitstops and supreme tyre management.
Home favourite Sergio Perez resisted a charging Daniel Ricciardo to secure best-of-the-rest honours in seventh place.
Nico Hulkenberg was poised to finish ninth in the second Renault, but was hit into a spin by Daniil Kvyat on the final lap and rear-ended the barriers.
Kvyat claimed ninth with Toro Rosso team-mate Pierre Gasly getting ahead of Hulkenberg as well, as the Renault driver crossed the line 11th with a broken rear wing.
McLaren looked on course for another best-of-the-rest victory early-on, but Sainz faded badly after switching to hard tyres, to the point where he stopped again to switch to mediums and eventually wound up 13th.
Lando Norris retired after a forlorn attempt to continue once his race was ruined by McLaren releasing him from his pitstop with a wheel improperly attached.
Results - 71 laps
|5||Alexander Albon||Red Bull/Honda||21.399s|
|6||Max Verstappen||Red Bull/Honda||1m08.807s|
|7||Sergio Perez||Racing Point/Mercedes||1m13.819s|
|9||Pierre Gasly||Toro Rosso/Honda||1 Lap|
|10||Nico Hulkenberg||Renault||1 Lap|
|11||Daniil Kvyat||Toro Rosso/Honda||1 Lap|
|12||Lance Stroll||Racing Point/Mercedes||1 Lap|
|13||Carlos Sainz Jr.||McLaren/Renault||1 Lap|
|14||Antonio Giovinazzi||Alfa Romeo/Ferrari||1 Lap|
|15||Kevin Magnussen||Haas/Ferrari||2 Laps|
|16||George Russell||Williams/Mercedes||2 Laps|
|17||Romain Grosjean||Haas/Ferrari||2 Laps|
|18||Robert Kubica||Williams/Mercedes||2 Laps|
|-||Kimi Raikkonen||Alfa Romeo/Ferrari||Overheating|
Get unlimited access to the world’s best motorsport journalism with Autosport Plus