Sebastian Vettel has won the Brazilian Grand Prix as his season ended on a high with a ninth consecutive win.
The German finished ahead of his Red Bull teammate Mark Webber, in what was the Australian's last race in Formula 1.
Vettel started from pole and, despite Nico Rosberg briefly taking the lead on lap one and a mix-up at his final pit stop on lap 47 when his tyres were not ready when he arrived at his box, he again showed his class and composure to lead home the rest of the grid.
Jenson Button moved from 15th on the grid up to fourth to end the season on a high note, but Lewis Hamilton dropped four places to ninth and had to serve a drive-through penalty for causing a collision with Valtteri Bottas.
Sergio Perez had a decent race in what was his last for McLaren, finishing sixth and holding off the challenge of Felipe Massa, who suffered a drive-through penalty after crossing the white line on the pit entry with all four wheels.
Further down the grid, Daniel Ricciardo took 10th and Paul di Resta ended his season in 11th.
Heikki Kovalainen, again standing in for Kimi Raikkonen, finished 14th, but Charles Pic, Bottas and Romain Grosjean had to retire.
Standings in full:
1. Sebastian Vettel (Red Bull)
2. Mark Webber (Red Bull)
3. Fernando Alonso (Ferrari)
4. Jenson Button (McLaren)
5. Nico Rosberg (Mercedes)
6. Sergio Perez (McLaren)
7. Felipe Massa (Ferrari)
8. Nico Hulkenberg (Sauber)
9. Lewis Hamilton (Mercedes)
10. Daniel Ricciardo (Toro Rosso)
11. Paul di Resta (Force India)
12. Esteban Gutierrez (Sauber)
13. Adrian Sutil (Force India)
14. Heikki Kovalainen (Lotus)
15. Jean-Eric Vergne (Toro Rosso)
16. Pastor Maldonado (Williams)
17. Jules Bianchi (Marussia)
18. Giedo van der Garde (Caterham)
19. Max Chilton (Marussia)
Retired Charles Pic (Caterham)
Retired Valtteri Bottas (Williams)
Retired Romain Grosjean (Lotus)