Lewis Hamilton made it back-to-back victories by taking the chequered flag in Mexico to keep his Formula 1 title fight with Nico Rosberg alive.
As in the United States a week ago, Hamilton spearheaded another Mercedes one-two, finishing 8.3s clear of Rosberg to close the gap to 19 points with two grands prix remaining.
Rosberg had a scare on lap 50 when Red Bull's Max Verstappen dived down the inside into Turn 4 after Rosberg had made a small mistake on the brakes at Turn 1.
Verstappen locked up as he made the pass, sliding past Rosberg and getting out of shape, allowing the Mercedes driver to get back through into second.
After that, Verstappen slid back into the clutches of Sebastian Vettel, and on lap 68 the teenager locked up at Turn 1 and took to the grass to hold onto his third place.
The stewards handed a Verstappen a five-second time penalty soon after the chequered flag, enough to drop him to fifth, meaning he had to leave the cool-down room as he prepared to take the podium.
That promoted Vettel - who was livid on the radio at Verstappen and the FIA before the penalty - to third place.
The stewards will investigate another incident involving Vettel and the second Red Bull of Daniel Ricciardo as they diced for fourth into Turn 4 on lap 69, touching wheels as the Ferrari held the position when Ricciardo attacked on the inside.
Up until those flashpoints, the race at the front had been uneventful, with Hamilton maintaining the lead as Rosberg tried to keep a safe gap in second.
After Hamilton stopped on lap 17 Rosberg led for three laps before his stop, with Vettel then taking over for seven laps before taking on new rubber, and Hamilton regaining the lead after 31 laps from which there was no looking back.
For the second race running a good start off the line from pole gave Hamilton his platform for the victory, although he did suffer a significant lock up with his right-front wheel into Turn 1.
That resulted in Hamilton taking to the grass and cutting out Turn 2 completely, while Rosberg also went off the track at Turn 2 under attack from Verstappen.
Further back, Esteban Gutierrez tagged Manor's Pascal Wehrlein, who in turn spun into Marcus Ericsson in his Sauber, sending both off track, with the young German retiring immediately.
Toro Rosso's Carlos Sainz Jr earned himself a five-second time penalty for forcing fellow Spaniard Fernando Alonso off track in his McLaren on the run from Turn 3 to Turn 4.
With debris on the track, and Wehrlein's stricken car, the safety car was deployed at the end of lap one, staying out for two laps.
Red Bull made an early tactical gamble, bringing in Ricciardo immediately and stripping him of the super-soft tyre to sending him on a long stint on mediums, dropping him to 17th.
Ricciardo pitted again after 50 laps for a late run on softs, claiming fourth pending the stewards' investigation, with Verstappen down to fifth.
Ferrari's Kimi Raikkonen was sixth, passing Nico Hulkenberg late on with a move around the outside at Turn 4, which forced Hulkenberg into a spin as he tried to hold the inside line and avoid contact with the Ferrari.
Williams duo Valtteri Bottas and Felipe Massa were eighth and ninth, with home hero Sergio Perez 10th.
MEXICAN GP RESULT
|3||Daniel Ricciardo||Red Bull/Renault||71||20.858s|
|4||Max Verstappen||Red Bull/Renault||71||21.323s|
|7||Nico Hulkenberg||Force India/Mercedes||71||58.891s|
|10||Sergio Perez||Force India/Mercedes||71||1m16.798s|
|11||Marcus Ericsson||Sauber/Ferrari||70||1 Lap|
|12||Jenson Button||McLaren/Honda||70||1 Lap|
|13||Fernando Alonso||McLaren/Honda||70||1 Lap|
|14||Jolyon Palmer||Renault||70||1 Lap|
|15||Felipe Nasr||Sauber/Ferrari||70||1 Lap|
|16||Carlos Sainz Jr.||Toro Rosso/Ferrari||70||1 Lap|
|17||Kevin Magnussen||Renault||70||1 Lap|
|18||Daniil Kvyat||Toro Rosso/Ferrari||70||1 Lap|
|19||Esteban Gutierrez||Haas/Ferrari||70||1 Lap|
|20||Romain Grosjean||Haas/Ferrari||70||1 Lap|
|21||Esteban Ocon||Manor/Mercedes||69||2 Laps|
|12||Carlos Sainz Jr.||38|