Nico Rosberg took his first Formula 1 victory since June as he comfortably led home Mercedes team-mate Lewis Hamilton in the first Mexican Grand Prix for 23 years.
The pole-sitter held off a challenge from Hamilton at the start and then dictated the race, surviving a late safety car period which cancelled out his lead to secure his fourth win of the season and 12th of his career.
Newly-crowned world champion Hamilton crossed the line second for his 15th podium in 17 races this season with Valtteri Bottas completing the podium.
Such was the pace of the two Mercedes that they were able to pit for a second time before the safety car came out and still rejoin in front of the rest of the field.
Hamilton questioned Mercedes' decision to bring him in, as he felt his tyres were in good shape, however his team insisted he had to pit for safety reasons, and he eventually relented.
The result means Rosberg reclaims second in the drivers' standings after Sebastian Vettel crashed out.
Vettel started third but collided with Red Bull's Daniel Ricciardo at the first corner and picked up a puncture.
The four-time champion complained about Ricciardo's driving on team radio but though the stewards investigated the incident, they deemed no further action was necessary.
Vettel recovered to the pits but he had a messy race, spinning at the esses and then crashing out of the race at the same spot when the rear end of the car got away from him - bringing out the safety car.
There was more drama for Ferrari when Kimi Raikkonen collided with Valtteri Bottas for the second time in three races following their last-lap clash in Sochi.
The duo went side-by-side into Turn 4 with Bottas' front-left hitting Raikkonen's right-rear and breaking the Ferrari's suspension.
Raikkonen retired instantly, signalling Ferrari's first double retirement since the 2006 Australian Grand Prix.
Red Bull's Daniil Kvyat finished fourth, after losing a place to Bottas on the restart, while Daniel Ricciardo and Felipe Massa completed the top six.
Nico Hulkenberg was seventh, one place ahead of home favourite Sergio Perez, who received rapturous cheers throughout the grand prix and was the only driver who managed to only make one stop.
Max Verstappen and Romain Grosjean completed the top 10.
Pastor Maldonado missed out on his fourth consecutive points finish in 11th, with Marcus Ericsson, Carlos Sainz Jr, Jenson Button, Alexander Rossi and Will Stevens the other finishers.
McLaren's Fernando Alonso cited a lack of power just after the start and was told by the team to retire the car at the end of lap one.
Shortly before the restart Button radioed his team to say the brakes on Felipe Nasr's car were on fire and shortly after, the Sauber retired in the 55,000-seater stadium section, reporting his brakes were "finished".
MEXICAN GP RESULT
|4||Daniil Kvyat||Red Bull/Renault||16.572s||71|
|5||Daniel Ricciardo||Red Bull/Renault||19.682s||71|
|7||Nico Hulkenberg||Force India/Mercedes||25.860s||71|
|8||Sergio Perez||Force India/Mercedes||34.343s||71|
|9||Max Verstappen||Toro Rosso/Renault||35.229s||71|
|13||Carlos Sainz Jr.||Toro Rosso/Renault||48.772s||71|
|15||Alexander Rossi||Marussia/Ferrari||2 Laps||69|
|16||Will Stevens||Marussia/Ferrari||2 Laps||69|
|-||Sebastian Vettel||Ferrari||Spun off||50|
|-||Fernando Alonso||McLaren/Honda||Power Unit||1|
|15||Carlos Sainz Jr.||18|
Autosport has produced a standalone special magazine to celebrate our 70th birthday. All current print subscribers will receive a copy for free. To order your copy of the 196-page Autosport 70th Anniversary issue, please go to: autosport.com/autosport70th