Il réalise un assez bon départ pour conserver sa 3e place puis il passe second dans le premier tour, derrière Sete Gibernau. Plus loin, Max Biaggi abandonne et Loris Capirossi fait une sortie de piste et rétrograde 12e. Valentino loupe légèrement un freinage, il écarte et se retrouve 3e, derrière Marco Melandri à peine à mi-course. Il récupère la seconde place à 11 tours de la fin et il tente dès lors de revenir sur Gibernau qui est à un plus d'une seconde.
Alors que Valentino se retrouve presque dans ses roues, il se fait doubler par Melandri. Par peur de le percuter au freinage suivant, il écarte et perd un peu de temps en 3e position.
Juste après cela, il y a une belle bagarre entre Melandri et Gibernau, mais ce dernier craque en faisant un tout droit dans les graviers pour repartir 5e.
À 2 tours de la fin, Valentino prend la tête de la course et la conserve jusqu'au drapeau à damiers malgré une tentative de Melandri dans le dernier tour pour le repasser.
Belle revanche de Valentino qui s'impose pour la première fois sur ce circuit et qui renoue avec la victoire. À noter la très belle course de Melandri qui n'a rien lâché et qui était menaçant jusqu'aux derniers instants.
Résultats de la course
1 Valentino Rossi 43'33'759
2 Marco Melandri + 1.670
3 Nicky Hayden + 5.536
4 Colin Edwards + 14.737
5 Sete Gibernau + 20.431
6 Carlos Checa + 31.432
7 Shinya Nakano + 32.983
8 Toni Elias + 39.888
Classement
1 Valentino Rossi 306 pts
2 Max Biaggi 159 pts
3 Marco Melandri 157 pts
4 Colin Edwards 152 pts
5 Nicky Hayden 150 pts
6 Loris Capirossi 148 pts
7 Alex Barros 129 pts
8 Sete Gibernau 126 pts