Alstare Suzuki rijder Max Neukirchner moest van ver komen maar haalde de een na de ander in om in de laatste ronde als eerste over de finish te komen voor Troy Corser en Troy Bayliss.
Troy Bayliss maakte beste start maar kwam al direct in gevecht te liggen met Ruben Xaus terwijl daar achter Troy Corser klem kwam te liggen en wat posities verloor.
Xaus nam al snel de leiding op zich en wist een klein gaatje naar de achtervolging te creëren terwijl Bayliss steeds verder terugzakte nadat eerst Max Biaggi, daarna Michel Fabrizio en daarna ook nog Corser hem wisten te passeren. Bayliss bleef daarna een tijdje op de vijfde plaats liggen terwijl Corser in een paar ronden tijd naar de tweede plaats kwam en het gat naar Xaus dicht wist te rijden.
Corser zette daarna Xaus onder druk maar het duurde een hele tijd voordat de Australiër de Spanjaard wist te passeren. Daarachter wist Bayliss weer naar de derde plaats te komen terwijl ook Max Neukirchner -gestart vanaf een tiende plaats – aansluiting had gekregen en in twee ronden eerst Fabrizio en daarna Biaggi wist te passeren. Vlak daarna ging het echter fout met dit Italiaanse duo. Fabrizio raakte de controle over de Ducati kwijt en kegelde daarbij ook Biaggi van de baan.
Neukirchner had daarna een beetje geluk toen Bayliss een foutje maakte en de Duitser daardoor makkelijk de derde plaats in handen kreeg en de jacht op Xaus en Corser in kon zetten. De Yamaha rijder voelde de bui al aan komen en passeerde Xaus om vervolgens een kleine voorsprong te nemen. Neukirchner wist niet veel later ook Xaus te passeren en reed het gaatje naar Corser snel dicht om de Australiër in de ronde daarna te passeren.
Neukirchner hoefde de leiding niet meer af te staan maar kwam in bepaalde bochten, waar Corser sneller was, nog wel onder druk te staan. De Duitser boog echter niet voor de druk en kwam als eerste over de finish gevolgd door Corser. Ruben Xaus kreeg in de eindfase nog last van Bayliss die de Spanjaard wist te passeren en zo als derde de finish passeerde.
Daar achter was het Carlos Checa die als vijfde over de finish kwam voor Lanzi en een na een slechte start sterk naar voren gekomen Jakub Smrz. Gregorio Lavilla werd achtste vlak voor Shinichi Nakatomi en Noriyuki Haga.
Naast de crash van Fabrizio en Bayliss waren er ook crashes voor Régis Laconi, Vittorio Iannuzzo, Makoto Tamada en Fonsi Nieto terwijl Karl Muggeridge, Jason Pridmore en Ayrton Badovini hun race voortijdig moesten beëindigen. Ryuichi Kiyonari en Roberto Rolfo maakten een valse start.