The Italian Yamaha rider fought from 11th position at the start for his second straight win at the twisting Sachsenring circuit, holding off a stiff challenge from compatriot Marco Melandri on the final lap to win by 0.145 seconds.
American Nicky Hayden completed the podium and maintains his lead in the overall championship standings with 169
Spain's Dani Pedrosa, fourth in Germany after starting from pole, slips to third in the championship race on 140 points behind Rossi who has 143.
On the 10 previous occasions Rossi has qualified outside the top 10 he has taken four podiums and one victory.
At the British Grand Prix last month, he started in 12th and battled through to finish second despite the pain of hand and ankle injuries.