Au départ, Michael Schumacher (Ferrari) marque un temps d’hésitation, tandis que Felipe Massa (Ferrari) n’ose le dépasser et tasse Fernando Alonso. Les deux Ferrari passent le premier virage en tête, suivies par la Renault du champion du monde et la McLaren de Montoya. Avant la fin du premier tour, Massa tire large et Fernando en profite pour se hisser en deuxième position. Giancarlo Fisichella, quant à lui, est 7ème. Il semble connaître quelques problèmes et tourne 1.5 sec plus lentement que son coéquipier. Il se fait dépasser quelques boucles plus tard par la RedBull de Klien.
Au début du 8ème tour, Massa manque le freinage du premier virage, sort de la piste et passe à quelques centimètres seulement de la monoplace de Fernando. Le Brésilien repart, et s’arrête à son stand. Confusion parmi les mécaniciens, qui ne parviennent pas à ôter la roue arrière droite : la Ferrari repart mais ne peut plus jouer la victoire. Schumacher est toujours en tête, 4.7 sec devant Alonso et Montoya (+11.4 sec). Les Honda de Button et Barrichello sont 4ème et 5ème, tandis que Mark Webber dépasse Giancarlo Fisichella, qui reprend la 8ème place. Au 9ème tour, Button prend l’avantage sur Montoya et s’empare de la 3ème position.
A la fin du 14ème tour, le leader s’arrête pour la première fois et sort de son stand 4ème. Fernando Alonso en profite pour prendre la tête. Giancarlo effectue son arrêt au tour suivant, tout comme Barrichello. Dès lors, les ravitaillements se succèdent : Button au 18ème tour, Alonso au 19ème. L’Espagnol sort de la voie des stands derrière Schumacher tandis que Montoya prend la tête. Son coéquipier, Kimi Raikkonen, est parti en dernière position et occupe la 6ème place.
Dans le 22ème tour, mauvaise nouvelle dans le clan Renault : Giancarlo Fisichella est au ralenti. L’Italien connaît un problème mécanique : il rentre au stand et doit abandonner. Pendant ce temps, Fernando Alonso cravache fort et revient sur Schumacher. Au tour suivant, Montoya, le leader de la course ravitaille enfin. Kimi Raikkonen, son coéquipier, prend la troisième position et ne s’est pas encore arrêté.
Au 25ème tour, l’écart entre Schumacher et Alonso passe sous la seconde. Trois boucles plus tard, Button prend le meilleur sur Montoya : il est 4ème derrière Schumacher, Alonso et Raikkonen. Au 30ème tour, Raikkonen s’arrête enfin : il met suffisamment d’essence pour terminer la course.
Au 36ème tour, Schumacher s’arrête pour la deuxième fois. Alonso reprend le commandement devant Button. Deux tours plus tard, Fernando arrive pour son dernier arrêt, qui se déroule parfaitement. Lorsqu’il sort de la voie des stands, il est côte à côte avec Schumacher. L’Allemand retarde son freinage au maximum et part en sous-virage. Alonso s’infiltre : il passe en tête et 18 tours restent à couvrir.
Au 44ème tour, Montoya ravitaille pour la dernière fois : Raikkonen et Button en profitent pour prendre les 3ème et 4ème positions. L’écart entre Fernando et Schumacher reste stable, aux alentours de 1.2 sec, puis chute à 0.4 sec alors que 5 tours restent à boucler. Mais l’Espagnol tient bon. Il franchit la ligne d’arrivée en vainqueur, devant Schumacher et Raikkonen.