|Pedrosa celebrates victory alongside teammate Stoner (R) and compatriot Lorenzo (L) [AFP]
Honda rider Dani Pedrosa won his second straight German MotoGP and his second race of the season on Sunday, ahead of fellow Spaniard and defending world champion Jorge Lorenzo.
Australian Casey Stoner, who had started on pole position and led for a while, finished third and his overall championship lead over Lorenzo was cut to 15 points with nine races left.
Pedrosa's win was his first podium finish since he won in Portugal in May, before he broke his collarbone in a collision with Italian Marco Simoncelli at the French Grand Prix that same month.
The Catalan, also last year's winner at the Sachsenring ahead of Lorenzo and Stoner, missed three races after two rounds of surgery and only came back at this month's Italian round.
"(It was an) unbelievable race because the pace was so high all the time," said Pedrosa.
The Spaniard had seized the lead briefly at the start and fought a three-way battle with both Stoner and Lorenzo taking turns at the front before Pedrosa again led for the last nine laps.
"Finally a perfect result. I didn't expect it at all," Pedrosa said, thanking his fans, family and doctors for their support.
"They know how hard it was for me this time. To come back and already win a race is an unbelievable feeling."
Lorenzo, who crossed the line 1.477 seconds adrift of Pedrosa, had led for eight laps before Pedrosa made his telling move and fell back to third with six laps remaining.
The champion was delighted with his day anyway after surging past Stoner with the chequered flag waiting.
"From the middle of the race I got tired very soon in my left hand, so I don't know where I could find the force to keep pushing to the end," Lorenzo said.
"I opened full throttle and in the last corner I took so many risks. I think I made a miracle"
Second placed Jorge Lorenzo
"Then Casey stopped the bike a lot two corners from the end so I took profit, I opened full throttle and in the last corner I took so many risks. I think I made a miracle," said the Mallorcan.
In the Moto2 category, Spain's Marc Marquez won from pole position for the third race in a row to deny Germany's Stefan Bradl the honour of becoming his country's first home winner since the grand prix returned to Sachsenring in 1998.
Bradl leads Marquez by 47 points in the standings.
Spain's Hector Faubel won the 125cc race after finishing absolutely level with France's Johann Zarco on the same time.
After video evidence failed to separate the two, Faubel was handed victory for having set a faster lap.
Compatriot Nicolas Terol's overall lead was cut to 32 points over Zarco.