Repsol Honda rijder Dani Pedrosa was oppermachtig op zijn thuiscircuit. Met een voorsprong van een kleine drie seconden kwam hij als eerste over de finish voor Valentino Rossi en Casey Stoner.
Meteen vanaf de start wist Pedrosa de leiding te nemen en hoefde deze niet meer af te staan. Casey Stoner zat in eerste instantie achter hem maar de Australiër verremde zich waardoor Dovizioso een tijdje op de tweede plaats reed voor Stoner, Colin Edwards, Randy de Puniet, Nicky Hayden, James Toseland, Valentino Rossi en Marco Melandri.
Pedrosa wist al meteen afstand te nemen van de achtervolging en tegen de tijd dat Stoner de tweede plaats weer had overgenomen was de voorsprong van de Spanjaard al ruim drie seconden. Die voorsprong liep in de rest van de race op tot hij in de 16e ronde acht seconden voorsprong had waarna hij wat vaart minderde en op de finish uiteindelijk nog drie seconden overhield.
Stoner maakte in de zesde ronde weer ene foutje waardoor Dovizioso weer even naar de tweede plaats wist te komen maar de regerend wereldkampioen pakte de Italiaan al snel weer terug terwijl op de achtergrond Rossi de een na de andere gepasseerd was en inmiddels aan de deur aan het kloppen was.
In de zevende ronde wist Rossi binnen een halve ronde eerst Dovizioso en vervolgens ook Stoner te grazen te nemen maar het lukte ook Rossi niet om in te lopen op de ontketende Pedrosa. De Fiat Yamaha rijder wist tot de 17e ronde de tweede plaats vast te houden waarna Stoner weer naar de tweede plaats kwam., het duo had inmiddels afstand genomen van de JiR Team Scot rijder die op een veilige maar eenzame vierde plaats reed.
Met nog een paar ronde te gaan was duidelijk dat Rossi sneller was dan Stoner en het was dan ook een kwestie van tijd voordat de Italiaan de Australiër zou passeren en dat gebeurde dan ook in de voorlaatste ronde. Rossi wist vervolgens de tweede plaats tot aan de finish vast te houden en kwam een halve seconde voor Stoner over de finish. Dovizioso werd vierde voor Edwards. James Toseland pakte uiteindelijk de zesde plaats na in de eindfase eerst Vermeulen en daarna Nicky Hayden te zijn gepasseerd, Nakan kwam vlak na Hayden als negende over de streep terwijl Hopkins op grote achterstand de tiende plaats pakte voor Melandri, Anthony West en Sylvain Guintoli.
Voor de rest van de rijders verliep de race niet volgens plan. Toni Elias maakte ene valse start en kwam te laat binnen voor zijn straf waardoor hij de zwarte vlag kreeg. Alex de Angelis en Loris Capirossi raakten elkaar in de achtste ronde en kwamen daarbij ten val terwijl een halve ronde later ook de Puniet onderuit ging.