Nico Rosberg won the Mexican Grand Prix for Mercedes as Formula One made a lively return to the country after a 23-year absence.

The German's fourth victory of the year, and 12th of his career, ended team mate Lewis Hamilton's three-race winning streak with the Briton having to settle for second a week after securing his third title.

Drivers standings
1.  Lewis Hamilton - 345    
2.  Nico Rosberg - 272    
3.  Sebastian Vettel - 251    
4.  Valtteri Bottas - 126    
5.  Kimi Raikkonen - 123    
6.  Felipe Massa - 117    
7.  Daniil Kvyat - 88     
8.  Daniel Ricciardo - 84     
9.  Sergio Perez - 68     
10. Max Verstappen - 47 

Rosberg survived a late safety-car phase to clinch his fourth win of the season and 12th of his career, with the German relieved to convert pole to victory unlike the previous three races when he was beaten by Hamilton.

Hamilton, who secured the Formula One championship for the third time by winning the US Grand Prix last week, was unable this time to mount an early challenge from the lights in F1's return to Mexico after 23 years.

With only two victories from his last 10 poles, Rosberg took the chequered flag 1.954 seconds ahead of Hamilton in a win which puts him back to second in the drivers' standings with two races remaining.

Valtteri Bottas in a Williams was third, ahead of the Red Bulls of Daniil Kvyat and Daniel Ricciardo.

Felpie Massa in a Williams finished sixth, Force India's Nico Huelkenberg was seventh, while there was a big cheer for local favourite Sergio Perez in a Force India, who was eighth ahead of Max Verstappen in a Toro Rosso and Romain Grosjean in a Lotus.

Ferrari's Sebastian Vettel dropped back to third behind Rosberg in the standings after an error-strewn race which ended with him veering head on into a barrier on lap 53.

Hamilton is on 345 points, with Rosberg moving to 272 while Vettel stays on 251.

Result (top 10):

1. Nico Rosberg (Germany) Mercedes 1:42:35.038
2. Lewis Hamilton (Britain) Mercedes 00:01.954
3. Valtteri Bottas (Finland) Williams-Mercedes 00:14.592
4. Daniil Kvyat (Russia) RedBull - Renault 00:16.572
5. Daniel Ricciardo (Australia) RedBull - Renault 00:19.682
6. Felipe Massa (Brazil) Williams-Mercedes 00:21.493
7. Nico Huelkenberg (Germany) Force India - Mercedes 00:25.860
8. Sergio Perez (Mexico) Force India - Mercedes 00:34.343
9. Max Verstappen (Netherlands) Toro Rosso - Renault 00:35.229
10. Romain Grosjean (France) Lotus - Mercedes 00:37.934

Source: Agencies