The championship leader, cheered on by Germany World Cup winner Lukas Podolski in the Mercedes pits, extended his lead to 14 points over teammate Lewis Hamilton, who charged up to finish third from 20th on the grid.
It was the first German Grand Prix win of Rosberg's career. Photo: DPA
"It's an amazing feeling to win at home. It's a very special day," said Rosberg.
Splitting the Mercedes men in second was the Williams of Valtteri Bottas.
Rosberg came home a comfortable 20.7 seconds ahead of the Finn at the end of an enthralling 67-lap contest.
Hamilton was only 1.8 seconds behind Bottas and ahead of defending champion Sebastian Vettel of Red Bull, Fernando Alonso of Ferrari and Daniel Ricciardo, in the second Red Bull.
Rosberg's win came after a week in which he had married his long-term girlfriend Vivian Sibold, signed an extended contract with Mercedes and celebrated Germany's World Cup victory.
It was his fourth win of the season and the seventh of his career.
But even such joyful supremacy was overshadowed in an incident-filled race by the bold passing pace of Hamilton, who started at the rear of the grid following his high speed crash in qualifying.
The Englishman delivered a thrilling series of dramatic moves muscling his way through the field, but in the end was unable to grab second in the closing laps as Bottas hung on to register an historic podium for the resurgent Williams team.
I had great fun," said Hamilton. "I did as good as I could. It was hard to get through the pack safely… it was hard to overtake so I'm glad to get some points today."
On one passing move Hamilton's car clipped the McLaren belonging to Jenson Button.
"I had a little bit of a collision with Jenson," he reflected. "I thought he was going to open the door which he has done a couple of times lately but that was my bad judgement."
Another German, Nico Hulkenberg of Force India finished seventh ahead of Jenson Button and his McLaren team-mate, Danish rookie Kevin Magnussen, and Sergio Perez who finished 10th in the second Force India.
There was drama at the start when the Williams of Felipe Massa, starting from the second row, somersaulted spectacularly.
The Brazilian's car came to rest in the safety gravel and he walked away unscathed after the accident triggered when Kevin Magnussen's McLaren clipped the rear of his car.