Valentino Rossi won at Mugello for the sixth year in a row to maintain his 100% record in the Italian MotoGP.
Italy's Rossi has won at Mugello six times
The Yamaha rider went in front on lap nine and held on to time 42 minutes 42.385 seconds over 23 laps.
He beat home Spain's Dani Pedrosa by 3.074 seconds, while veteran Alex Barros of Brazil was third.
Australian Casey Stoner finished fourth after starting on pole and had his overall lead in the title race cut to nine points by Rossi.
Rossi had a slow start, dropping from third to eighth after the first lap, but he quickly worked his way through the field.
"Six wins in a row, eight in all, that's not bad," said Rossi. "To win here is always very special. There was a lot of yellow flags waving which motivated me even more.
"The weather helped us and despite a bad start I remained calm because I had a good rhythm.
"I had a good battle with Dani Pedrosa and the fact that Casey Stoner did not finish on the podium means the title race is wide open again in what is a very long campaign."
Rossi equalled the achievement of Australian Mick Doohan, who won the Italian Grand Prix six years running between 1993 and 1998 in the old 500cc class.
Britain's Bradley Smith finished a fine eighth in the 125cc race despite his Honda being down on power to the front-running Aprilias.
The race was won by Spaniard Hector Faubel on the Bancaja Aspar Aprilia and he took over the points lead from Lukas Pesek.
The 250cc race was won by Spaniard Alvaro Bautista, ahead of Alex de Angelis and Hector Barbera. Jorge Lorenzo came eighth and leads the standings by 27 points.
Italian GP result:
1 V Rossi (It) Yamaha 42min 42.385sec
2 D Pedrosa (Sp) Honda at 3.074sec
3 A Barros (Brz) Ducati 5.956
4 C Stoner (Aus) Ducati 6.012
5 J Hopkins (USA) Suzuki 13.244
6 T Elias (Sp) Honda 19.255
7 L Capirossi (It) Ducati 19.646
8 C Vermeulen (Aus) Suzuki 22.810
9 M Melandri (It) Honda 22.837
10 N Hayden (USA) Honda 24.413
Overall standings (after six of 18 races):
1 C Stoner (Aus) Ducati 115pts
2 V Rossi (It) Yamaha 106
3 D Pedrosa (Sp) Honda 82
4 M Melandri (It) Honda 68
5 C Vermeulen (Aus) Suzuki 63
6 J Hopkins (USA) Suzuki 59
7 L Capirossi (It) Ducati 47
8 T Elias (Sp) Honda 45
9 A Barros (Brz) Ducati 43
10 C Edwards (USA) Yamaha 39
1 Ducati 118pts
2 Honda 109
3 Yamaha 106
4 Suzuki 82
5 Kawasaki 28
6 KR212V 4
250cc race result:
1 A Bautista (Sp) Aprilia 40mins 18.605secs
2 A De Angelis (Smr) Aprilia 40:18.692
3 H Barbera (Sp) Aprilia 40:26.270
1 J Lorenzo (Sp) Aprilia 128pts
2 A Dovizioso (It) Honda 101
3 A De Angelis (Smr) Aprilia 95
125cc race result:
1 H Faubel (Sp) Aprilia 40mins 14.164secs
2 S Gadea (Sp) Aprilia 40:14.184
3 S Corsi (Ita) Aprilia 40:14.230
1 H Faubel (Sp) Aprilia 102pts
2 G Talmacsi (Hun) Aprilia 95
3 L Pesek (Cze) Derbi 91
Live coverage of MotoGP on BBC TV, interactive and the BBC Sport website.