Het was Sete Gibernau die de erg fraai gespoten Ducati vanaf de start de sporen gaf en de sprint naar de eerste bocht in zijn voordeel wist te beslechten. Gibernau kreeg Valentino Rossi in zijn kielzog gevolgd door Shinya Nakano, Casey Stoner, Marco Melandri, Dani Pedrosa, Nicky Hayden, Loris Capirossi en Kenny Roberts Jr.. Gibernau en Stoner raakten hun posities al na een paar bochten kwijt aan respectievelijk Rossi en Melandri.
Colin Edwards die het al niet makkelijk had in de kwalificatie kon, na Jerez en Le Mans, voor de derde keer dit seizoen vanaf de laatste plaats zijn race vervolgen nadat hij zich verremde en in het stof terecht kwam.
In de tweede ronde maakte Rossi een klein foutje toen het er op begon te lijken dat hij wat weg kon lopen van Gibernau. Gibernau sloeg meteen toe en nam de leiding weer over en wist deze en paar ronden vast te houden. Ook Melandri stak een ronde later zijn Honda even voorbij de Yamaha van Rossi maar een ronde later had Rossi beide plaatsen weer goed gemaakt en lag weer fier aan kop.
Shinya Nakano, die goed was gestart, hield overduidelijk een aantal man op. Vlak na de start wisten Melandri en Stoner de Japanner in te halen maar de beide Repsol Honda mannen hadden er wat meer moeite mee. Uiteindelijk lukte het in de vierde ronde waarna Pedrosa en Hayden, die ook nog eens regelmatig van positie wisselden, het inmiddels ontstane gaatje naar de top vier konden gaan dichtrijden.
Een paar ronden later was de aansluiting gevonden terwijl Melandri Stoner had weten te passeren nadat de Australiër de Italiaan er uit had geremd. Een paar ronden later was de race voorbij voor Stoner. De MotoGP debutant die tot dan toe goede resultaten had weten te behalen was ineens zijn Honda kwijt en beiden werden door de lucht geslingerd. Melandri, die er op dat moment weer valk achter zat, zat eerste rang en zag Hayden voorbij komen.
Capirossi, die een slechte start maakte, was inmiddels meter voor meter dichterbij gekomen en had inmiddels de aansluiting met zesde man Pedrosa gevonden. Capirex was goed op dreef want Pedrosa zag de populaire Ducati coureur al snel voorbij komen. We zitten dan pas in de negende ronde
Intussen hadden Rossi en Gibernau een gaatje van iets meer dan een seconde ten opzichten van derde man Hayden maar daar ging verandering in komen. Capirossi pakte in de tiende ronde twee man in een bocht en niet veel later was Hayden aan de beurt. Hayden had het gaatje naar de twee kopmannen al wat weten te dichten maar Capirossi maakte het af en wist de aansluiting te vinden.
Niet veel later probeerde Capirossi naar de kop te komen maar remde net even te laat en moest wijd in de eerste bocht. Ook Rossi ging wijd en zag vier man – Gibernau, Capirossi, Hayden en Melandri - voorbij komen. Gibernau was de lachende derde en pakte de leiding weer terug om niet veel later zijn teamgenoot voorbij te zien komen.
Gibernau wist daarna het tempo niet meer bij te benen en zag stuk voor stuk en in een tijdsbestek van enkele ronden iedereen voorbij komen en raakte zelfs de aansluiting kwijt.
Rossi was inmiddels via een aantal strakke inhaalmanoeuvres weer naar voren gekomen. Bij een aantal van deze inhaalacties kon nog meer net een haar tussen de kuipen van Melandri, Hayden en Capirossi gestoken worden - zo dicht zaten ze op elkaar.
Melandri kwam tijdens pogingen om Hayden te passeren even naast de baan terecht en vervolgde zijn race pas weer achter de al redelijk er teruggezakte Gibernau.
In de laatste paar ronden ging het tussen Capirossi, Rossi en Hayden want Pedrosa wist het tempo net niet vol te houden. Rossi en Capirossi wisselden een paar keer van plaats maar uiteindelijk was het Rossi de in de laatste ronde wat los wist te breken en zich op het lange rechte stuk geen zorgen hoefde te maken over een slipstreamende supersnelle Ducati met aan boord Loris Capirossi. Ook Hayden zat er nog goed bij maar kon net geen vuist maken naar de twee Italianen en pakte de derde plaats. Dani Pedrosa pakte op 1,2 seconden achterstand de vierde plaats voor Gibernau en Melandri.
Achter dit spectaculaire gevecht voor de overwinning bevond zich een groep van vijf man die vochten om plaats zeven. Opvallende verschijning was de met een nep sponsor uitgeruste KR211V met Kenny Roberts Jr. Roberts moest uiteindelijk op de finish zijn meerder erkennen in Toni Elias maar had de zevende plaats lang in handen. Naast Roberts en Elias zaten ook Makoto Tamada, John Hopkins en Shinya Nakano in deze groep. 10 seconden daarachter werd Colin Edwards nog 12e ruim voor Randy De Puniet, Chris Vermeulen, Carlos Checa, James Ellison en José Luis Cardoso.
Met dit resultaat staat Capirossi, vanwege zijn overwinning in Jerez, aan de leiding in het klassement overgenomen maar wel samen met Hayden die ook 99 punten heeft. Rossi klimt met zijn 25 punten naar een vijfde plaats in het klassement op 34 punten achter Capirossi/Hayden dus misschien mag Guido weer uit zijn iglo.
Uitslag race | Stand na Mugello