Nico Rosberg held off a charging Lewis Hamilton to win the Brazilian Grand Prix and narrow the gap in the Championship race.
Starting from pole position, the German seemed to have a slight edge over his team-mate through to the start of the second round of the pit stops.
However, pitting first in the second stops, Rosberg was given a small scare as Hamilton piled on the pace.
The Brit put in a fastest lap time but spun on his next lap giving Rosberg an easy escape.
And although the Championship leader caught back up, less than a second behind his team-mate throughout the final ten laps, Rosberg held on for the victory.
The 25 points mean he will head into the season finale in Abu Dhabi trailing the Brit by 17 points.
Much to the delight of the Brazilian fans, the duo were followed home - at a distance - by Felipe Massa
The Williams driver survived a five second stop-go penalty for speeding in pit lane and another driver error where he pulled into the McLaren pits before moving through to the correct box to finish on the podium at home.
Jenson Button was fourth, unchallenged for much of the race, while Sebastian Vettel was fifth.
Fernando Alonso won a late battle of the Ferrari drivers, passing Kimi Raikkonen into Turn 1 with three to go. The Finn had opted for a two-stop strategy.
Nico Hulkenberg brought his Force India across the line in eighth place, ahead of Kevin Magnussen and Valtteri Bottas.
Bottas had been running as high as fourth when he needed his seat belt adjusted, which dropped him down the order.
There were only two retirements on the day as Daniel Ricciardo pulled into the pits with a broken suspension and Romain Grosjean parked his Lotus on the side of the track.
01 Nico Rosberg Mercedes 1:30.02.555
02 Lewis Hamilton Mercedes +1.400
03 Felipe Massa Williams +40.9
04 Jenson Button McLaren +48.5
05 Sebastian Vettel Red Bull +51.2
06 Fernando Alonso Ferrari +61.6
07 Kimi Raikkonen Ferrari +63.4
08 Nico Hulkenberg Force India +63.6
09 Kevin Magnussen McLaren +69.7
10 Valtteri Bottas Williams +1 lap
11 Daniil Kvyat Toro Rosso +1 lap
12 Pastor Maldonado Lotus +1 lap
13 Jean-Eric Vergne Toro Rosso +1 lap
14 Esteban Gutierrez Sauber +1 lap
15 Sergio Perez Force India +1 lap
16 Adrian Sutil Sauber +1 lap
Did Not Finish
Romain Grosjean Lotus
Daniel Ricciardo Red Bull