Após largar em quarto lugar, o inglês assumiu a liderança da corrida depois da primeira parada nos boxes e seguiu até o final, dominando. Sebastian Vettel terminou em segundo lugar, com Jarno Trulli em terceiro.
O brasileiro Rubens Barrichello não teve a mesma sorte. Ele saiu em sexto lugar, mas uma parada a mais nos boxes, e algumas voltas trancado atrás de Nelsinho Piquet, custaram uma posição no pódio. Ele terminou em quinto lugar.
Felipe Massa, que chegou otimista com o oitavo lugar no grid, acabou pagando pela boa largada das duas Ferraris. Na primeira curva, ele acabou espremido entre Barrichello e Kimi Räikkönen. Acabou tocando no carro do finlandês, foi para os boxes e saiu da briga pelos pontos.
Na largada, o pole Jarno Trulli não saiu bem e acabou superado por seu companheiro de equipe, Timo Glock. Os melhores, porém, foram as Ferraris. Massa, 8º, e Kimi Räikkönen, 9º, pularam para frente e brigaram por posição com Barrichello, que largou em 6º. Na primeira curva, inclusive, os três se espremeram. Pior para Massa, que bateu no finlandês, quebrou a asa dianteira e teve de ir para os boxes.
No pelotão da frente, os dois pilotos da Toyota, que largaram mais leves, pararam nos boxes. Foi aí que Button começou a conquistar a vitória. Com mais voltas do que os rivais, ele acelerou, como costumava fazer Michael Schumacher, e, ao sair dos boxes, estava na frente de Glock e Trulli.
Rubens Barrichello não teve a mesma sorte. Após sua parada, ele acabou trancado atrás de Nelsinho Piquet. Após algumas voltas mais lento do que os seus concorrentes na frente, Barrichello conseguiu a ultrapassagem na 19ª volta. Com isso, distante dos líderes, ele voltou aos boxes na 26ª volta, em mudança de estratégia.
Em primeiro lugar, Button usou o grande ritmo de corrida dos carros da Brawn GP para aumentar a vantagem. Em segundo lugar, o alemão Sebastian Vettel, vencedor do GP da China. As duas Toyotas não conseguiram repetir o desempenho dos treinos, com Trulli terminando em terceiro e Glock, apenas em sétimo.