Despite expectations of crashes and safety-car periods on the narrow circuit, there was little on-track action and the safety car remained in the pits throughout as Rosberg won by 16.6 seconds from Ferrari's Sebastian Vettel.
Force India's Sergio Perez passed Ferrari's Kimi Raikkonen on the penultimate lap and took third.
Reigning world champion Lewis Hamilton made up several places early after starting tenth, but a problem with the Mercedes hybrid power system — and his team's inability to tell him how to fix it due to new rules restricting instructions between the pit and driver — saw him finish a frustrated fifth.
After winning the first four races of the season, Rosberg had watched with alarm as Hamilton won the past two to cut his lead to single figures, but the win gives him some breathing room coming into the European heart of the season.
"Everything went to plan for me so it was really awesome," Rosberg said. "The weekend went perfectly."
Williams' Valtteri Bottas was sixth, ahead of the Red Bull's Daniel Ricciardo and Max Verstappen, who struggled on the soft tires in the first half of the race, and were forced into making two pit stops while those ahead needed just one.
Force India's Nico Hulkenberg and Williams' Felipe Massa completed the top ten.