The pole-to-flag victory was the triple world champion’s eighth of the season and put him level with France’s Alain Prost in the all-time lists of winners. Only Michael Schumacher (91) has more.
Rosberg, who would have clinched the title had he won and Hamilton finished 10th or lower, crossed the line 8.354 seconds behind to anchor champions Mercedes to a sixth one-two finish of the season.
The German can still clinch the title with a race in hand if he wins at Sao Paulo’s Interlagos circuit in Brazil in two weeks’ time.
“Lewis has been too fast this weekend,” said Rosberg. “I just have to accept second place.”
The race was largely processional until it exploded into controversy in the final laps with Ferrari’s Sebastian Vettel finishing fourth and then promoted to the podium before demotion back to fifth.
Red Bull’s Max Verstappen was third on the track but was then handed a five second penalty for gaining an advantage by going off, pushing him down to fifth before Vettel’s penalty for dangerous driving lifted him back to fourth.
That left Australian Daniel Ricciardo in third place but without a podium appearance and the chance to pour the champagne into his boot for another trademark ‘shoey’ celebration.
The Vettel-Verstappen-Ricciardo controversy provided the major talking point of the day, with bad language flying and accusations going to and fro.
“He has to let me go, he has to let me go,” Vettel, who had been trying to pass Verstappen on the 67th of the 71 laps, exclaimed furiously over the team radio as the Dutchman refused to concede the place.
Vettel also directed a foul-mouthed outburst at race director Charlie Whiting, which was heard on television and for which he apologized, and then swerved across to the Red Bull driver after the finish with a finger raised and wagging.
“I was using a lot of sign language. You have to understand the adrenaline,” said the four-times champion.
Verstappen said Vettel should go back to school.
“I don’t know how many times he is using very bad language,” said the teenager. “I will speak to him because this is how ridiculous he is handling it, he is just a very frustrated guy at the moment.”
Verstappen joined the Mercedes drivers in the waiting room before the podium ceremony but was hauled out after his penalty was imposed, with Vettel running hastily down the pit lane.
The arguments and accusations continued afterwards, with Vettel and Ricciardo then summoned to stewards and the German accused of changing his line while braking as Ricciardo tried to pass him.
In a race that saw all but one of the 22 starters finish, the safety car was deployed on the second lap when Mexican Esteban Gutierrez tagged Pascal Wehrlein’s Manor and pushed him into Marcus Ericsson’s Sauber.
There was more drama at the front where Hamilton made a good getaway but then locked up and trekked across the grass, cutting the first corner.
That incident, which left him battling serious tire vibrations until his first pitstop, was held up by Verstappen as inconsistent stewarding, with the Briton also gaining an advantage but escaping any sanction.
Verstappen and Rosberg also made contact at the start, with the Dutch driver trying to find a way through on the inside from third place on the grid, but stewards took no action.
Ferrari’s Kimi Raikkonen was sixth, Nico Hulkenberg seventh for Force India and the Williams pairing of Valtteri Bottas and Felipe Massa eighth and ninth.
Mexican Sergio Perez, the crowd favorite, took the final point for Force India in 10th place after a long battle with Massa. – Reuters