World champion Valentino Rossi won a tight German MotoGP Grand Prix in Sachsenring on Sunday, snatching the lead from fellow Yamaha rider Jorge Lorenzo with two laps to go and fending off a last-gasp attack.
Rossi's win equalled Giacomo Agostini's record of 159 podium finishes in Grand Prix racing, and extended his lead at the top of the championship standings to 14 points ahead of Lorenzo.
Dani Pedrosa on a Honda was third.
"There was serious pressure from Jorge all through the race more or less," said a beaming Rossi after his 101st Grand Prix win.
"On the last lap I was perfect and I braked so deep on the last corner. On this track it is difficult to overtake and I did not make a mistake at the crucial point and it was another important victory for the championship."
Rossi, in pole position after clocking the best time on a drenched qualifying round on Saturday, led early in the race on a dry track, closely watched by Pedrosa and Casey Stoner's Ducati.
After five laps, Stoner, who has mild anaemia and has been suffering from fatigue, moved up, pushing Rossi for top spot.
A round later the Australian, who finished fourth, briefly squeezed past the Italian at a hairpin to go into the lead as Spaniard Jorge Lorenzo moved up to third.
Lorenzo and Rossi gradually shook off all competitors in a two-way battle halfway through the race.
The Italian edged past the Spaniard with two laps to go and held on to victory as Lorenzo desperately looked for an opening to overtake in the final lap.
"He [Rossi] was very brave because when I passed him, he did the maximum so he overtook me under braking at the end of the straight and it was impossible to try again to overtake him," said Lorenzo.
"I thought there were more laps in the end. Every race we are more close and in the future maybe I can win."
Italian Marco Simoncelli of Gilera won the 250cc race only 0.479 seconds ahead of Spain's Alex Debon to keep his title hopes alive.
Third-placed Alvaro Bautista cut the lead of championship frontrunner Hiroshi Aoyama from Japan, who finished fourth, to just 10 points.
In the 125cc, Julian Simon on an Aprilia led a Spanish trio to the podium and extended his lead at the top of the table. Sergio Gadea was second and Joan Olive third.