The six-time world champion took advantage of Mercedes team-mate Valtteri Bottas' early error to seize the lead and then held off Red Bull's Max Verstappen at the Nurburgring.
Bottas, who started on pole, had a rotten day in Germany, retiring on lap 19 because of a mechanical failure, with Renault's Daniel Ricciardo finishing third.
Hamilton was able to increase his lead in the standings due to Bottas' retirement, the Briton now 69 points clear with six races to go as he closes on equalling Schumacher's record drivers' championships tally of seven.
Bottas was bidding to win back-to-back races for the first time in his career but a sluggish start off the grid opened the door to Hamilton in Turn One.
However, the Finn, racing in his 150th grand prix, battled back at Turn Two to regain the lead and show the kind of fighting spirit some have accused him of lacking.
Hamilton was back ahead at the start of lap 12, though, Bottas locking up at Turn One with an error that required him to pit and drop further back.
The introduction of the virtual safety car - brought out after Kimi Raikkonen clipped George Williams on his record 324th start - resulted in both Hamilton and Verstappen pitting to further deject Bottas, whose race was run not long after.
Hamilton was cruising to victory but when McLaren's Lando Norris abandoned the race, having also battled issues with his car for much of the afternoon, another safety car was deployed to give some hope to the chasing pack.
Verstappen very nearly smashed into the back of the race leader on the restart with 10 laps to go, but Hamilton duly delivered a lap record of 1:28.487 on 52 of 60 en route to a slice of history.