The German led into the first corner from pole and set about building a lead he would never relinquish, with his title rival and Mercedes team-mate Lewis Hamilton only fifth.
It was Rosberg’s fifth victory of the season and first since Russia, leaving him 24 points clear of Hamilton in the drivers’ standings.
Hamilton made good progress through the field from 10th, having crashed out in qualifying, but then encountered lower than maximum electrical deployment.
The reigning world champion repeatedly asked Mercedes for help in solving the problem, but it was unable to tell him what to do under this season’s radio communication restrictions.
Hamilton was able to fix the problem in the closing stages but it proved to be too late and he was unable to improve on fifth.
The Mexican passed Kimi Raikkonen on the final lap to snatch third, but he was set to get the place anyway as Raikkonen had been given a five-second time penalty for crossing the white line on pit entry earlier in the race.
The two Red Bulls did a two-stop strategy, fitting the softs and the the mediums, while Hulkenberg only did one so they had fresher tyres.
Hulkenberg held on to ninth, one place ahead of Felipe Massa, who scored points for the seventh time in eight races.
Pascal Wehrlein was running strongly when he suffered brake failure and retired his Manor for the first time this season.